pub enum ParallelPattern {
Map,
Filter,
Reduce,
Scan,
Stencil,
ParallelFor,
Scatter,
Gather,
}Expand description
The concrete algorithmic pattern recognised in a parallel region.
Variants§
Map
out[i] = f(in[i]) — embarrassingly parallel.
Filter
out = [x for x in xs if p(x)] — stream compaction.
Reduce
acc = fold(f, init, xs) — can use tree-reduction.
Scan
out[i] = prefix_op(out[0..i]) — parallel-prefix.
Stencil
out[i] = f(neighbours(in, i)) — finite-difference / convolution.
ParallelFor
Generic counted loop with independent iterations.
Scatter
Indexed scatter: out[idx[i]] = val[i].
Gather
Indexed gather: out[i] = in[idx[i]].
Trait Implementations§
Source§impl Clone for ParallelPattern
impl Clone for ParallelPattern
Source§fn clone(&self) -> ParallelPattern
fn clone(&self) -> ParallelPattern
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ParallelPattern
impl Debug for ParallelPattern
Source§impl Display for ParallelPattern
impl Display for ParallelPattern
Source§impl Hash for ParallelPattern
impl Hash for ParallelPattern
Source§impl PartialEq for ParallelPattern
impl PartialEq for ParallelPattern
impl Copy for ParallelPattern
impl Eq for ParallelPattern
impl StructuralPartialEq for ParallelPattern
Auto Trait Implementations§
impl Freeze for ParallelPattern
impl RefUnwindSafe for ParallelPattern
impl Send for ParallelPattern
impl Sync for ParallelPattern
impl Unpin for ParallelPattern
impl UnsafeUnpin for ParallelPattern
impl UnwindSafe for ParallelPattern
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