vortex_buffer/
cuda.rs

1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: Copyright the Vortex contributors
3
4use 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}