ParallelBuilder

Trait ParallelBuilder 

Source
pub trait ParallelBuilder: Builder {
    type ParallelGrid<'a, C: Communicator + 'a>: ParallelGrid<C = C>
       where Self: 'a;

    // Required methods
    fn create_parallel_grid_root<'a, C: Communicator>(
        &self,
        comm: &'a C,
        partitioner: GraphPartitioner,
    ) -> Self::ParallelGrid<'a, C>;
    fn create_parallel_grid<'a, C: Communicator>(
        &self,
        comm: &'a C,
        root_rank: i32,
    ) -> Self::ParallelGrid<'a, C>;
}
Expand description

MPI parallelized grid builder

Required Associated Types§

Source

type ParallelGrid<'a, C: Communicator + 'a>: ParallelGrid<C = C> where Self: 'a

Parallel grid type

Required Methods§

Source

fn create_parallel_grid_root<'a, C: Communicator>( &self, comm: &'a C, partitioner: GraphPartitioner, ) -> Self::ParallelGrid<'a, C>

Create a parallel grid (call from root)

Source

fn create_parallel_grid<'a, C: Communicator>( &self, comm: &'a C, root_rank: i32, ) -> Self::ParallelGrid<'a, C>

Create a parallel grid (call from other processes)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<B: Builder + GeometryBuilder + TopologyBuilder + GridBuilder> ParallelBuilder for B
where Vec<B::T>: Buffer, B::T: Equivalence, Vec<B::EntityDescriptor>: Buffer, B::EntityDescriptor: Equivalence, B::Grid: Sync,

Source§

type ParallelGrid<'a, C: Communicator + 'a> = ParallelGridImpl<'a, C, <B as Builder>::Grid> where Self: 'a