pub struct AdvancedGPUAccelerator<F: IntegrateFloat + GpuDataType> { /* private fields */ }Expand description
Advanced-performance GPU acceleration engine
Implementations§
Source§impl<F: IntegrateFloat + GpuDataType> AdvancedGPUAccelerator<F>
impl<F: IntegrateFloat + GpuDataType> AdvancedGPUAccelerator<F>
Sourcepub fn new() -> IntegrateResult<Self>
pub fn new() -> IntegrateResult<Self>
Create a new advanced-performance GPU accelerator
Sourcepub fn new_with_cpu_fallback() -> IntegrateResult<Self>
pub fn new_with_cpu_fallback() -> IntegrateResult<Self>
Create a new GPU accelerator with CPU fallback mode
Sourcepub fn advanced_rk4_step(
&self,
t: F,
y: &ArrayView1<'_, F>,
h: F,
f: impl Fn(F, &ArrayView1<'_, F>) -> IntegrateResult<Array1<F>>,
) -> IntegrateResult<Array1<F>>
pub fn advanced_rk4_step( &self, t: F, y: &ArrayView1<'_, F>, h: F, f: impl Fn(F, &ArrayView1<'_, F>) -> IntegrateResult<Array1<F>>, ) -> IntegrateResult<Array1<F>>
Advanced-optimized Runge-Kutta 4th order method on GPU
Sourcepub fn advanced_adaptive_step(
&self,
t: F,
y: &ArrayView1<'_, F>,
h: F,
rtol: F,
atol: F,
f: impl Fn(F, &ArrayView1<'_, F>) -> IntegrateResult<Array1<F>>,
) -> IntegrateResult<(Array1<F>, F, bool)>
pub fn advanced_adaptive_step( &self, t: F, y: &ArrayView1<'_, F>, h: F, rtol: F, atol: F, f: impl Fn(F, &ArrayView1<'_, F>) -> IntegrateResult<Array1<F>>, ) -> IntegrateResult<(Array1<F>, F, bool)>
Advanced-optimized adaptive step size control on GPU
Auto Trait Implementations§
impl<F> Freeze for AdvancedGPUAccelerator<F>
impl<F> RefUnwindSafe for AdvancedGPUAccelerator<F>
impl<F> Send for AdvancedGPUAccelerator<F>
impl<F> Sync for AdvancedGPUAccelerator<F>
impl<F> Unpin for AdvancedGPUAccelerator<F>
impl<F> UnwindSafe for AdvancedGPUAccelerator<F>
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