diff options
| author | Mehdi Amini <joker.eph@gmail.com> | 2025-08-14 15:36:46 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-14 15:36:46 +0200 |
| commit | df57d6a01e85ca78da2febab21b268d9fd6955a0 (patch) | |
| tree | 19b0aab453e6bc7e2b15d3220024dfdacd4fa57e /offload/plugins-nextgen/cuda/src/rtl.cpp | |
| parent | df86ea61b7ed484ca797f96d7ad40fd9ada7ba30 (diff) | |
| parent | 7bda76367f19cfc19086f68d9dd5ac019a9ceccd (diff) | |
Merge branch 'main' into users/joker-eph-python-bindings-maintainersusers/joker-eph-python-bindings-maintainers
Diffstat (limited to 'offload/plugins-nextgen/cuda/src/rtl.cpp')
| -rw-r--r-- | offload/plugins-nextgen/cuda/src/rtl.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/offload/plugins-nextgen/cuda/src/rtl.cpp b/offload/plugins-nextgen/cuda/src/rtl.cpp index e94f3f6af7dd..82c9f9b706cb 100644 --- a/offload/plugins-nextgen/cuda/src/rtl.cpp +++ b/offload/plugins-nextgen/cuda/src/rtl.cpp @@ -914,9 +914,19 @@ struct CUDADeviceTy : public GenericDeviceTy { return Plugin::check(Res, "error in cuStreamWaitEvent: %s"); } - // TODO: This should be implementable on CUDA Expected<bool> hasPendingWorkImpl(AsyncInfoWrapperTy &AsyncInfo) override { - return true; + CUstream Stream; + if (auto Err = getStream(AsyncInfo, Stream)) + return Err; + + CUresult Ret = cuStreamQuery(Stream); + if (Ret == CUDA_SUCCESS) + return false; + + if (Ret == CUDA_ERROR_NOT_READY) + return true; + + return Plugin::check(Ret, "error in cuStreamQuery: %s"); } /// Synchronize the current thread with the event. |
