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>
Sourcepub unsafe fn from_raw(
handle: cutensorMpPlan_t,
context: &Context<'comm>,
) -> Result<Self>
pub unsafe fn from_raw( handle: cutensorMpPlan_t, context: &Context<'comm>, ) -> Result<Self>
Wraps an existing cuTENSORMp plan.
§Safety
handle must be a valid cuTENSORMp plan associated with context. The
returned value takes ownership of handle and destroys it on drop.
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
Sourcepub fn into_raw(self) -> cutensorMpPlan_t
pub fn into_raw(self) -> cutensorMpPlan_t
Consumes this plan and returns the owned raw cuTENSORMp plan.
The caller becomes responsible for destroying the plan.
Trait Implementations§
Auto Trait Implementations§
impl<'comm> !Send for Plan<'comm>
impl<'comm> !Sync for Plan<'comm>
impl<'comm> Freeze for Plan<'comm>
impl<'comm> RefUnwindSafe 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