[StreamExecutor] Add Stream::blockHostUntilDone
Summary: Add the type-safe wrapper to the platform-specific implementation.
Reviewers: jlebar
Subscribers: jprice, parallel_libs-commits
Differential Revision: https://reviews.llvm.org/D24063
llvm-svn: 280182
GitOrigin-RevId: ba65d4412e9a4d33cdbf464273f5ea35e312acdb
diff --git a/streamexecutor/include/streamexecutor/Stream.h b/streamexecutor/include/streamexecutor/Stream.h
index 2937c58..d1c82f9 100644
--- a/streamexecutor/include/streamexecutor/Stream.h
+++ b/streamexecutor/include/streamexecutor/Stream.h
@@ -78,7 +78,16 @@
return make_error(*ErrorMessage);
else
return Error::success();
- };
+ }
+
+ // Blocks the calling host thread until all work enqueued on this Stream
+ // completes.
+ //
+ // Returns the result of getStatus() after the Stream work completes.
+ Error blockHostUntilDone() {
+ setError(PDevice->blockHostUntilDone(ThePlatformStream.get()));
+ return getStatus();
+ }
/// Entrains onto the stream of operations a kernel launch with the given
/// arguments.