pub struct Plan<'comm> { /* private fields */ }Implementations§
Source§impl<'comm> Plan<'comm>
impl<'comm> Plan<'comm>
pub fn create( context: &Context<'comm>, desc: &OperationDescriptor<'comm>, preference: Option<&PlanPreference<'comm>>, ) -> Result<Self>
pub fn workspace(&self) -> Result<Workspace>
pub fn create_workspace_memory(&self) -> Result<WorkspaceMemory>
pub fn contract<TA, TB, TC, TD, TScalar>( &self, alpha: &TScalar, a: &DeviceMemory<TA>, b: &DeviceMemory<TB>, beta: &TScalar, c: &DeviceMemory<TC>, d: &mut DeviceMemory<TD>, workspace: &mut WorkspaceMemory, ) -> Result<()>
pub fn contract_in_place<TA, TB, TC, TScalar>( &self, alpha: &TScalar, a: &DeviceMemory<TA>, b: &DeviceMemory<TB>, beta: &TScalar, c_and_d: &mut DeviceMemory<TC>, workspace: &mut WorkspaceMemory, ) -> Result<()>
Sourcepub unsafe fn contract_raw(
&self,
alpha: *const (),
a: *const (),
b: *const (),
beta: *const (),
c: *const (),
d: *mut (),
device_workspace: *mut (),
host_workspace: *mut (),
) -> Result<()>
pub unsafe fn contract_raw( &self, alpha: *const (), a: *const (), b: *const (), beta: *const (), c: *const (), d: *mut (), device_workspace: *mut (), host_workspace: *mut (), ) -> Result<()>
Executes this distributed contraction with raw local tensor pointers.
§Safety
Pointers must refer to the local rank’s tensor shards and workspaces
matching the descriptors and plan. Scalars must have the type expected by
cuTENSORMp for the data-type combination. All pointers must remain valid
for the duration of the launched operation, and d, device_workspace,
and host_workspace must be writable according to the plan’s workspace
requirements.
pub fn as_raw(&self) -> cutensorMpPlan_t
Trait Implementations§
Auto Trait Implementations§
impl<'comm> Freeze for Plan<'comm>
impl<'comm> RefUnwindSafe for Plan<'comm>
impl<'comm> !Send for Plan<'comm>
impl<'comm> !Sync for Plan<'comm>
impl<'comm> Unpin for Plan<'comm>
impl<'comm> UnsafeUnpin for Plan<'comm>
impl<'comm> UnwindSafe for Plan<'comm>
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