Function poc_kokkos_rs::routines::parallel_for
source · pub fn parallel_for<const N: usize>(
execp: ExecutionPolicy<N>,
func: impl FnMut(KernelArgs<N>)
) -> Result<(), StatementError>
Expand description
Parallel For statement.
Current version: no feature
Example
use poc_kokkos_rs::{
functor::KernelArgs,
routines::{
parallel_for,
parameters::{ExecutionPolicy, ExecutionSpace, RangePolicy, Schedule},
},
};
let length: usize = 8;
let kern = |arg: KernelArgs<1>| match arg {
KernelArgs::Index1D(i) => {
// body of the kernel
println!("Hello from iteration {i}")
},
KernelArgs::IndexND(_) => unimplemented!(),
KernelArgs::Handle => unimplemented!(),
};
let execp = ExecutionPolicy {
space: ExecutionSpace::DeviceCPU,
range: RangePolicy::RangePolicy(0..length),
schedule: Schedule::Static,
};
parallel_for(execp, kern).unwrap();