pub struct HipServer { /* private fields */ }Trait Implementations§
Source§impl ComputeServer for HipServer
impl ComputeServer for HipServer
Source§type Kernel = Box<dyn CubeTask<CppCompiler<HipDialect<WmmaIntrinsicCompiler>>>>
type Kernel = Box<dyn CubeTask<CppCompiler<HipDialect<WmmaIntrinsicCompiler>>>>
The kernel type defines the computation algorithms.
Source§type Storage = GpuStorage
type Storage = GpuStorage
The storage type defines how data is stored and accessed.
Source§fn logger(&self) -> Arc<ServerLogger>
fn logger(&self) -> Arc<ServerLogger>
Retrieve the server logger.
Source§fn utilities(&self) -> Arc<ServerUtilities<Self>>
fn utilities(&self) -> Arc<ServerUtilities<Self>>
Retrieve the server utilities.
Source§fn staging(
&mut self,
sizes: &[usize],
stream_id: StreamId,
) -> Result<Vec<Bytes>, IoError>
fn staging( &mut self, sizes: &[usize], stream_id: StreamId, ) -> Result<Vec<Bytes>, IoError>
Reserves N Bytes of the provided sizes to be used as staging to load data.
Source§fn create(
&mut self,
descriptors: Vec<AllocationDescriptor<'_>>,
stream_id: StreamId,
) -> Result<Vec<Allocation>, IoError>
fn create( &mut self, descriptors: Vec<AllocationDescriptor<'_>>, stream_id: StreamId, ) -> Result<Vec<Allocation>, IoError>
Reserves
size bytes in the storage, and returns a handle over them.Source§fn read(
&mut self,
descriptors: Vec<CopyDescriptor<'_>>,
stream_id: StreamId,
) -> DynFut<Result<Vec<Bytes>, IoError>>
fn read( &mut self, descriptors: Vec<CopyDescriptor<'_>>, stream_id: StreamId, ) -> DynFut<Result<Vec<Bytes>, IoError>>
Given bindings, returns the owned resources as bytes.
Source§fn write(
&mut self,
descriptors: Vec<(CopyDescriptor<'_>, Bytes)>,
stream_id: StreamId,
) -> Result<(), IoError>
fn write( &mut self, descriptors: Vec<(CopyDescriptor<'_>, Bytes)>, stream_id: StreamId, ) -> Result<(), IoError>
Writes the specified bytes into the buffers given
Source§fn memory_usage(&mut self, stream_id: StreamId) -> MemoryUsage
fn memory_usage(&mut self, stream_id: StreamId) -> MemoryUsage
The current memory usage of the server.
Source§fn memory_cleanup(&mut self, stream_id: StreamId)
fn memory_cleanup(&mut self, stream_id: StreamId)
Ask the server to release memory that it can release.
Source§unsafe fn launch(
&mut self,
kernel: Self::Kernel,
count: CubeCount,
bindings: Bindings,
mode: ExecutionMode,
stream_id: StreamId,
) -> Result<(), LaunchError>
unsafe fn launch( &mut self, kernel: Self::Kernel, count: CubeCount, bindings: Bindings, mode: ExecutionMode, stream_id: StreamId, ) -> Result<(), LaunchError>
Source§fn sync(&mut self, stream_id: StreamId) -> DynFut<Result<(), ExecutionError>>
fn sync(&mut self, stream_id: StreamId) -> DynFut<Result<(), ExecutionError>>
Wait for the completion of every task in the server.
Source§fn start_profile(&mut self, stream_id: StreamId) -> ProfilingToken
fn start_profile(&mut self, stream_id: StreamId) -> ProfilingToken
Enable collecting timestamps.
Source§fn end_profile(
&mut self,
stream_id: StreamId,
token: ProfilingToken,
) -> Result<ProfileDuration, ProfileError>
fn end_profile( &mut self, stream_id: StreamId, token: ProfilingToken, ) -> Result<ProfileDuration, ProfileError>
Disable collecting timestamps.
Source§fn get_resource(
&mut self,
binding: Binding,
stream_id: StreamId,
) -> BindingResource<GpuResource>
fn get_resource( &mut self, binding: Binding, stream_id: StreamId, ) -> BindingResource<GpuResource>
Given a resource handle, returns the storage resource.
Source§fn allocation_mode(&mut self, mode: MemoryAllocationMode, stream_id: StreamId)
fn allocation_mode(&mut self, mode: MemoryAllocationMode, stream_id: StreamId)
Update the memory mode of allocation in the server.
Source§impl DeviceState for HipServer
impl DeviceState for HipServer
Source§impl ServerCommunication for HipServer
impl ServerCommunication for HipServer
Source§const SERVER_COMM_ENABLED: bool = true
const SERVER_COMM_ENABLED: bool = true
Indicates whether server-to-server communication is enabled for this implementation.
Source§fn copy(
server_src: &mut Self,
server_dst: &mut Self,
src: CopyDescriptor<'_>,
stream_id_src: StreamId,
stream_id_dst: StreamId,
) -> Result<Allocation, IoError>
fn copy( server_src: &mut Self, server_dst: &mut Self, src: CopyDescriptor<'_>, stream_id_src: StreamId, stream_id_dst: StreamId, ) -> Result<Allocation, IoError>
Copies data from a source server to a destination server. Read more
impl Send for HipServer
Auto Trait Implementations§
impl Freeze for HipServer
impl !RefUnwindSafe for HipServer
impl !Sync for HipServer
impl Unpin for HipServer
impl !UnwindSafe for HipServer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more