[llvm-branch-commits] [clang] [llvm] [Offload][Lang] Add blocking to LaunchKernel and Memcpy (PR #218049)
Kevin Sala Penades via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Thu Aug 27 12:03:15 PDT 2026
================
@@ -45,8 +46,21 @@ ol_result_t __llvmLaunchKernelImpl(const char *KernelID, dim3 GridDim,
LaunchSizeArgs.GroupSize.z = BlockDim.z;
LaunchSizeArgs.DynSharedMemory = DynamicSharedMem;
- ol_queue_handle_t Queue = Stream ? reinterpret_cast<StreamTy *>(Stream)->Queue
- : ThreadState.getDefaultQueue();
+ StreamTy *LaunchStream = Stream ? reinterpret_cast<StreamTy *>(Stream)
+ : ThreadState.getDefaultStream();
+ if (!LaunchStream || !State.isStreamRegistered(LaunchStream) ||
+ LaunchStream->Device != Device)
+ return &InvalidConfigurationError;
+
+ if (LaunchStream->Kind == QueueKind::LegacyDefault) {
+ ol_result_t Result = waitOnBlockingStreams();
+ if (Result != OL_SUCCESS)
+ return Result;
+ } else if (LaunchStream->Kind == QueueKind::ExplicitBlocking) {
+ ol_result_t Result = waitOnLegacyDefaultStream(LaunchStream, Device);
----------------
kevinsala wrote:
Pass the StateTy as reference
https://github.com/llvm/llvm-project/pull/218049
More information about the llvm-branch-commits
mailing list