metrale_gpu_runtime/
stream.rs1use cudarc::driver::CudaStream;
9use std::sync::Arc;
10
11use metrale_core::device::MetraleDevice;
12use metrale_core::error::Result;
13
14pub struct MetraleStream {
16 pub stream: Arc<CudaStream>,
17 pub device: MetraleDevice,
18}
19
20impl MetraleStream {
21 pub fn new(device: &MetraleDevice) -> Result<Self> {
23 let stream = device
24 .ctx
25 .new_stream()
26 .map_err(metrale_core::error::MetraleError::CudaDriver)?;
27 Ok(Self {
28 stream,
29 device: device.clone(),
30 })
31 }
32}