hyper.deal
Loading...
Searching...
No Matches
internal::MatrixFreeFunctions::VectorDataExchange::Contiguous Class Reference

#include <vector_partitioner.h>

Inheritance diagram for internal::MatrixFreeFunctions::VectorDataExchange::Contiguous:

Public Types

using RankType = unsigned int
 
using LocalDoFType = unsigned int
 
using CellIdType = dealii::types::global_dof_index
 
using FaceIdType = std::pair<CellIdType, unsigned int>
 

Public Member Functions

template<typename ShapeInfo >
 Contiguous (const ShapeInfo &shape_info)
 
void reinit (const std::vector< dealii::types::global_dof_index > local_cells, const std::vector< std::pair< dealii::types::global_dof_index, std::vector< unsigned int > > > local_ghost_faces, const MPI_Comm comm, const MPI_Comm comm_sm, const bool do_buffering)
 
unsigned int locally_owned_size () const override
 
unsigned int n_ghost_indices () const override
 
unsigned int n_import_indices () const override
 
void reset_ghost_values (const dealii::ArrayView< double > &ghost_array) const override
 
void reset_ghost_values (const dealii::ArrayView< float > &ghost_array) const override
 
unsigned int n_import_sm_procs () const override
 
types::global_dof_index size () const override
 
void export_to_ghosted_array_start (const unsigned int communication_channel, const dealii::ArrayView< const double > &locally_owned_array, const std::vector< dealii::ArrayView< const double > > &shared_arrays, const dealii::ArrayView< double > &ghost_array, const dealii::ArrayView< double > &temporary_storage, std::vector< MPI_Request > &requests) const override
 
void export_to_ghosted_array_finish (const dealii::ArrayView< const double > &locally_owned_array, const std::vector< dealii::ArrayView< const double > > &shared_arrays, const dealii::ArrayView< double > &ghost_array, std::vector< MPI_Request > &requests) const override
 
void import_from_ghosted_array_start (const dealii::VectorOperation::values vector_operation, const unsigned int communication_channel, const dealii::ArrayView< const double > &locally_owned_array, const std::vector< dealii::ArrayView< const double > > &shared_arrays, const dealii::ArrayView< double > &ghost_array, const dealii::ArrayView< double > &temporary_storage, std::vector< MPI_Request > &requests) const override
 
void import_from_ghosted_array_finish (const dealii::VectorOperation::values vector_operation, const dealii::ArrayView< double > &locally_owned_storage, const std::vector< dealii::ArrayView< const double > > &shared_arrays, const dealii::ArrayView< double > &ghost_array, const dealii::ArrayView< const double > &temporary_storage, std::vector< MPI_Request > &requests) const override
 
void export_to_ghosted_array_start (const unsigned int communication_channel, const dealii::ArrayView< const float > &locally_owned_array, const std::vector< dealii::ArrayView< const float > > &shared_arrays, const dealii::ArrayView< float > &ghost_array, const dealii::ArrayView< float > &temporary_storage, std::vector< MPI_Request > &requests) const override
 
void export_to_ghosted_array_finish (const dealii::ArrayView< const float > &locally_owned_array, const std::vector< dealii::ArrayView< const float > > &shared_arrays, const dealii::ArrayView< float > &ghost_array, std::vector< MPI_Request > &requests) const override
 
void import_from_ghosted_array_start (const dealii::VectorOperation::values vector_operation, const unsigned int communication_channel, const dealii::ArrayView< const float > &locally_owned_array, const std::vector< dealii::ArrayView< const float > > &shared_arrays, const dealii::ArrayView< float > &ghost_array, const dealii::ArrayView< float > &temporary_storage, std::vector< MPI_Request > &requests) const override
 
void import_from_ghosted_array_finish (const dealii::VectorOperation::values vector_operation, const dealii::ArrayView< float > &locally_owned_storage, const std::vector< dealii::ArrayView< const float > > &shared_arrays, const dealii::ArrayView< float > &ghost_array, const dealii::ArrayView< const float > &temporary_storage, std::vector< MPI_Request > &requests) const override
 
template<typename Number >
void export_to_ghosted_array_finish_0 (const dealii::ArrayView< const Number > &locally_owned_array, const std::vector< dealii::ArrayView< const Number > > &shared_arrays, const dealii::ArrayView< Number > &ghost_array, std::vector< MPI_Request > &requests) const
 
template<typename Number >
void export_to_ghosted_array_finish_1 (const dealii::ArrayView< const Number > &locally_owned_array, const std::vector< dealii::ArrayView< const Number > > &shared_arrays, const dealii::ArrayView< Number > &ghost_array, std::vector< MPI_Request > &requests) const
 
const std::map< dealii::types::global_dof_index, std::pair< unsigned int, unsigned int > > & get_maps () const
 
const std::map< std::pair< dealii::types::global_dof_index, unsigned int >, std::pair< unsigned int, unsigned int > > & get_maps_ghost () const
 
std::size_t memory_consumption () const
 
void sync (const unsigned int tag=0) const
 

Detailed Description

Partitioner for discontinuous Galerkin discretizations, exploiting shared memory.

Constructor & Destructor Documentation

◆ Contiguous()

template<typename ShapeInfo >
internal::MatrixFreeFunctions::VectorDataExchange::Contiguous::Contiguous ( const ShapeInfo & shape_info)

Constructor.

Member Function Documentation

◆ export_to_ghosted_array_finish() [1/2]

void internal::MatrixFreeFunctions::VectorDataExchange::Contiguous::export_to_ghosted_array_finish ( const dealii::ArrayView< const double > & locally_owned_array,
const std::vector< dealii::ArrayView< const double > > & shared_arrays,
const dealii::ArrayView< double > & ghost_array,
std::vector< MPI_Request > & requests ) const
inlineoverride

Finish to export to ghost array.

◆ export_to_ghosted_array_finish() [2/2]

void internal::MatrixFreeFunctions::VectorDataExchange::Contiguous::export_to_ghosted_array_finish ( const dealii::ArrayView< const float > & locally_owned_array,
const std::vector< dealii::ArrayView< const float > > & shared_arrays,
const dealii::ArrayView< float > & ghost_array,
std::vector< MPI_Request > & requests ) const
inlineoverride

Finish to export to ghost array.

◆ export_to_ghosted_array_finish_0()

template<typename Number >
void internal::MatrixFreeFunctions::VectorDataExchange::Contiguous::export_to_ghosted_array_finish_0 ( const dealii::ArrayView< const Number > & locally_owned_array,
const std::vector< dealii::ArrayView< const Number > > & shared_arrays,
const dealii::ArrayView< Number > & ghost_array,
std::vector< MPI_Request > & requests ) const

TODO.

◆ export_to_ghosted_array_finish_1()

template<typename Number >
void internal::MatrixFreeFunctions::VectorDataExchange::Contiguous::export_to_ghosted_array_finish_1 ( const dealii::ArrayView< const Number > & locally_owned_array,
const std::vector< dealii::ArrayView< const Number > > & shared_arrays,
const dealii::ArrayView< Number > & ghost_array,
std::vector< MPI_Request > & requests ) const

TODO.

◆ export_to_ghosted_array_start() [1/2]

void internal::MatrixFreeFunctions::VectorDataExchange::Contiguous::export_to_ghosted_array_start ( const unsigned int communication_channel,
const dealii::ArrayView< const double > & locally_owned_array,
const std::vector< dealii::ArrayView< const double > > & shared_arrays,
const dealii::ArrayView< double > & ghost_array,
const dealii::ArrayView< double > & temporary_storage,
std::vector< MPI_Request > & requests ) const
inlineoverride

Start to export to ghost array.

◆ export_to_ghosted_array_start() [2/2]

void internal::MatrixFreeFunctions::VectorDataExchange::Contiguous::export_to_ghosted_array_start ( const unsigned int communication_channel,
const dealii::ArrayView< const float > & locally_owned_array,
const std::vector< dealii::ArrayView< const float > > & shared_arrays,
const dealii::ArrayView< float > & ghost_array,
const dealii::ArrayView< float > & temporary_storage,
std::vector< MPI_Request > & requests ) const
inlineoverride

Start to export to ghost array.

◆ get_maps()

const std::map< dealii::types::global_dof_index, std::pair< unsigned int, unsigned int > > & internal::MatrixFreeFunctions::VectorDataExchange::Contiguous::get_maps ( ) const
inline

Return position of shared cell: cell -> (owner, offset)

◆ get_maps_ghost()

const std::map< std::pair< dealii::types::global_dof_index, unsigned int >, std::pair< unsigned int, unsigned int > > & internal::MatrixFreeFunctions::VectorDataExchange::Contiguous::get_maps_ghost ( ) const
inline

Return position of ghost face: (cell, no) -> (owner, offset)

◆ import_from_ghosted_array_finish() [1/2]

void internal::MatrixFreeFunctions::VectorDataExchange::Contiguous::import_from_ghosted_array_finish ( const dealii::VectorOperation::values vector_operation,
const dealii::ArrayView< double > & locally_owned_storage,
const std::vector< dealii::ArrayView< const double > > & shared_arrays,
const dealii::ArrayView< double > & ghost_array,
const dealii::ArrayView< const double > & temporary_storage,
std::vector< MPI_Request > & requests ) const
inlineoverride

Finish to import from ghost array.

◆ import_from_ghosted_array_finish() [2/2]

void internal::MatrixFreeFunctions::VectorDataExchange::Contiguous::import_from_ghosted_array_finish ( const dealii::VectorOperation::values vector_operation,
const dealii::ArrayView< float > & locally_owned_storage,
const std::vector< dealii::ArrayView< const float > > & shared_arrays,
const dealii::ArrayView< float > & ghost_array,
const dealii::ArrayView< const float > & temporary_storage,
std::vector< MPI_Request > & requests ) const
inlineoverride

Finish to import from ghost array.

◆ import_from_ghosted_array_start() [1/2]

void internal::MatrixFreeFunctions::VectorDataExchange::Contiguous::import_from_ghosted_array_start ( const dealii::VectorOperation::values vector_operation,
const unsigned int communication_channel,
const dealii::ArrayView< const double > & locally_owned_array,
const std::vector< dealii::ArrayView< const double > > & shared_arrays,
const dealii::ArrayView< double > & ghost_array,
const dealii::ArrayView< double > & temporary_storage,
std::vector< MPI_Request > & requests ) const
inlineoverride

Start to import from ghost array.

◆ import_from_ghosted_array_start() [2/2]

void internal::MatrixFreeFunctions::VectorDataExchange::Contiguous::import_from_ghosted_array_start ( const dealii::VectorOperation::values vector_operation,
const unsigned int communication_channel,
const dealii::ArrayView< const float > & locally_owned_array,
const std::vector< dealii::ArrayView< const float > > & shared_arrays,
const dealii::ArrayView< float > & ghost_array,
const dealii::ArrayView< float > & temporary_storage,
std::vector< MPI_Request > & requests ) const
inlineoverride

Start to import from ghost array.

◆ memory_consumption()

std::size_t internal::MatrixFreeFunctions::VectorDataExchange::Contiguous::memory_consumption ( ) const
inline

Return memory consumption.

Note
: Only counts the buffers [TODO].

◆ reinit()

void internal::MatrixFreeFunctions::VectorDataExchange::Contiguous::reinit ( const std::vector< dealii::types::global_dof_index > local_cells,
const std::vector< std::pair< dealii::types::global_dof_index, std::vector< unsigned int > > > local_ghost_faces,
const MPI_Comm comm,
const MPI_Comm comm_sm,
const bool do_buffering )
inline

Initialize partitioner with a list of locally owned cells and a list of ghost faces (cell and face no).

◆ sync()

void internal::MatrixFreeFunctions::VectorDataExchange::Contiguous::sync ( const unsigned int tag = 0) const
inline

Synchronize.


The documentation for this class was generated from the following file: