pub struct AdaptiveCompute { /* private fields */ }Expand description
Adaptive GPU/CPU dispatcher for the legacy Cl(3,0,0) flat-batch helper.
Single multivector products always use the CPU amari-core baseline.
batch_geometric_product accepts flat Cl(3,0,0) batches with 8 coefficients
per multivector and uses GPU only when a context is available and the batch
crosses GpuCliffordAlgebra::should_use_gpu.
Implementations§
Source§impl AdaptiveCompute
impl AdaptiveCompute
Sourcepub async fn new<const P: usize, const Q: usize, const R: usize>() -> Self
pub async fn new<const P: usize, const Q: usize, const R: usize>() -> Self
Create with optional GPU acceleration
Sourcepub async fn geometric_product<const P: usize, const Q: usize, const R: usize>(
&self,
a: &Multivector<P, Q, R>,
b: &Multivector<P, Q, R>,
) -> Multivector<P, Q, R>
pub async fn geometric_product<const P: usize, const Q: usize, const R: usize>( &self, a: &Multivector<P, Q, R>, b: &Multivector<P, Q, R>, ) -> Multivector<P, Q, R>
Perform geometric product, automatically choosing CPU or GPU
Auto Trait Implementations§
impl !Freeze for AdaptiveCompute
impl !RefUnwindSafe for AdaptiveCompute
impl !UnwindSafe for AdaptiveCompute
impl Send for AdaptiveCompute
impl Sync for AdaptiveCompute
impl Unpin for AdaptiveCompute
impl UnsafeUnpin for AdaptiveCompute
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.