3 #include <cuda_runtime.h> 4 #include <cuda_runtime_api.h> 5 #include <device_launch_parameters.h> 6 #include <muda/check/check_cuda_errors.h> 7 #include <muda/tools/temp_buffer.h> 19 cudaStream_t m_handle =
nullptr;
22 enum class Flag : unsigned int
24 eDefault = cudaStreamDefault,
25 eNonBlocking = cudaStreamNonBlocking
28 MUDA_NODISCARD
Stream(Flag f = Flag::eDefault);
31 operator cudaStream_t()
const {
return m_handle; }
32 cudaStream_t view()
const {
return m_handle; }
35 Stream(
const Stream&) =
delete;
36 Stream& operator=(
const Stream&) =
delete;
39 Stream(Stream&& o) MUDA_NOEXCEPT;
40 Stream& operator=(Stream&& o) MUDA_NOEXCEPT;
44 void begin_capture(cudaStreamCaptureMode mode = cudaStreamCaptureModeThreadLocal)
const;
45 void end_capture(cudaGraph_t* graph)
const;
53 MUDA_DEVICE
operator cudaStream_t()
const;
60 MUDA_DEVICE
operator cudaStream_t()
const;
67 MUDA_DEVICE
operator cudaStream_t()
const;
74 MUDA_DEVICE
operator cudaStream_t()
const;
77 std::byte* workspace(
size_t byte_size);
90 #include "details/stream.inl" Definition: temp_buffer.h:7
RAII wrapper for cudaStream
Definition: stream.h:17
Definition: kernel_tag.h:9