pub enum CoExecution {
NativePrecision,
MatchGpuPrecision,
}Expand description
What precision the CPU half of a split batch should run at.
Variants§
NativePrecision
CPU lanes stay f64, GPU lanes are f32. Fastest and most accurate
overall, but the output array is not uniform in accuracy — see the
module docs.
MatchGpuPrecision
Round the CPU half’s results to f32 as well, so every lane in the
output has the same accuracy grade.
This makes the array uniform, not better: it throws away good bits on the CPU lanes to remove the seam. Choose it when downstream code compares cells against each other and a discontinuity at the split point would be mistaken for physics.
Trait Implementations§
Source§impl Clone for CoExecution
impl Clone for CoExecution
impl Copy for CoExecution
Source§impl Debug for CoExecution
impl Debug for CoExecution
Source§impl Default for CoExecution
impl Default for CoExecution
impl Eq for CoExecution
Source§impl PartialEq for CoExecution
impl PartialEq for CoExecution
impl StructuralPartialEq for CoExecution
Auto Trait Implementations§
impl Freeze for CoExecution
impl RefUnwindSafe for CoExecution
impl Send for CoExecution
impl Sync for CoExecution
impl Unpin for CoExecution
impl UnsafeUnpin for CoExecution
impl UnwindSafe for CoExecution
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