llvm icon indicating copy to clipboard operation
llvm copied to clipboard

[SYCL] Host device & queue removal (internal part, not breaking ABI)

Open KseniyaTikhomirova opened this issue 1 year ago • 1 comments

Host device support is deprecated long time ago. Although our internal host task & host accessor implementation was still using it. This change eliminates it and remove possibility to create host queue/context and device. This brings the following changes:

  • Commands & Events could not guarantee queried Context != nullptr and Queue!= nullptr since for host task stuff no device queue/context is involved. For host task we have submitted queue instance stored in event to be able to report exceptions to user and to be able to properly handle dependencies. Submitted queue for host task is guaranteed to be not null.
  • Connection command for cross context dependencies is now attached to the queue of new command (dependency for which is being analyzed). Previously it was also related to host queue only. No perf impact is expected.
  • Stream flush command is now submitted to the same queue as corresponding kernel (previously it was submitted to the host queue). This could bring negative perf impact for stream usage with in-order queue but stream is not perf oriented feature.

ABI breaking changes to remove is_host methods and some SYCL_EXTERN stuff will be submitted separately.

KseniyaTikhomirova avatar Jun 04 '24 10:06 KseniyaTikhomirova

WIN E2E failure is not related to impl

KseniyaTikhomirova avatar Jun 27 '24 12:06 KseniyaTikhomirova