1use cudarc::driver::{CudaStream, HostSlice, SyncOnDrop};
5
6use crate::BufferMut;
7
8impl<T> HostSlice<T> for BufferMut<T> {
9 fn len(&self) -> usize {
10 self.len()
11 }
12
13 unsafe fn stream_synced_slice<'a>(
14 &'a self,
15 _stream: &'a CudaStream,
16 ) -> (&'a [T], SyncOnDrop<'a>) {
17 (self.as_slice(), SyncOnDrop::Sync(None))
18 }
19
20 unsafe fn stream_synced_mut_slice<'a>(
21 &'a mut self,
22 _stream: &'a CudaStream,
23 ) -> (&'a mut [T], SyncOnDrop<'a>) {
24 (self.as_mut_slice(), SyncOnDrop::Sync(None))
25 }
26}