|
IPPL (Independent Parallel Particle Layer)
IPPL
|
Namespaces | |
| namespace | core |
| namespace | tag |
| namespace | rma |
Classes | |
| class | Communicator |
| struct | vector_dim_type |
| struct | vector_dim_type< ippl::Vector< T, Dim_ > > |
| class | Environment |
| struct | extractBinaryOperationKind |
| Helper struct to distinguish between the four basic associative operation types. More... | |
| struct | extractBinaryOperationKind< std::plus< T > > |
| struct | extractBinaryOperationKind< std::multiplies< T > > |
| struct | extractBinaryOperationKind< std::less< T > > |
| struct | extractBinaryOperationKind< std::greater< T > > |
| struct | always_false |
| struct | is_ippl_mpi_type |
| struct | dummy |
| struct | getMpiOpImpl |
| struct | getNontrivialMpiOpImpl |
| Helper struct to look up and store MPI_Op types for custom types and custom operations. More... | |
| class | Request |
| struct | is_serializable |
| class | Status |
Enumerations | |
| enum struct | binaryOperationKind { SUM , MIN , MAX , MULTIPLICATION } |
Functions | |
| std::vector< char > | serializeLogs (const std::vector< LogEntry > &logs) |
| std::vector< LogEntry > | deserializeLogs (const std::vector< char > &buffer) |
| template<typename T> | |
| MPI_Datatype | get_mpi_datatype (const T &) |
| IPPL_MPI_OP (std::plus< char >, MPI_SUM) | |
| IPPL_MPI_OP (std::plus< short >, MPI_SUM) | |
| IPPL_MPI_OP (std::plus< int >, MPI_SUM) | |
| IPPL_MPI_OP (std::plus< long >, MPI_SUM) | |
| IPPL_MPI_OP (std::plus< long long >, MPI_SUM) | |
| IPPL_MPI_OP (std::plus< unsigned char >, MPI_SUM) | |
| IPPL_MPI_OP (std::plus< unsigned short >, MPI_SUM) | |
| IPPL_MPI_OP (std::plus< unsigned int >, MPI_SUM) | |
| IPPL_MPI_OP (std::plus< unsigned long >, MPI_SUM) | |
| IPPL_MPI_OP (std::plus< unsigned long long >, MPI_SUM) | |
| IPPL_MPI_OP (std::plus< float >, MPI_SUM) | |
| IPPL_MPI_OP (std::plus< double >, MPI_SUM) | |
| IPPL_MPI_OP (std::plus< long double >, MPI_SUM) | |
| IPPL_MPI_OP (std::plus< std::complex< float > >, MPI_SUM) | |
| IPPL_MPI_OP (std::plus< std::complex< double > >, MPI_SUM) | |
| IPPL_MPI_OP (std::plus< Kokkos::complex< float > >, MPI_SUM) | |
| IPPL_MPI_OP (std::plus< Kokkos::complex< double > >, MPI_SUM) | |
| IPPL_MPI_OP (std::less< char >, MPI_MIN) | |
| IPPL_MPI_OP (std::less< short >, MPI_MIN) | |
| IPPL_MPI_OP (std::less< int >, MPI_MIN) | |
| IPPL_MPI_OP (std::less< long >, MPI_MIN) | |
| IPPL_MPI_OP (std::less< long long >, MPI_MIN) | |
| IPPL_MPI_OP (std::less< unsigned char >, MPI_MIN) | |
| IPPL_MPI_OP (std::less< unsigned short >, MPI_MIN) | |
| IPPL_MPI_OP (std::less< unsigned int >, MPI_MIN) | |
| IPPL_MPI_OP (std::less< unsigned long >, MPI_MIN) | |
| IPPL_MPI_OP (std::less< unsigned long long >, MPI_MIN) | |
| IPPL_MPI_OP (std::less< float >, MPI_MIN) | |
| IPPL_MPI_OP (std::less< double >, MPI_MIN) | |
| IPPL_MPI_OP (std::less< long double >, MPI_MIN) | |
| IPPL_MPI_OP (std::greater< char >, MPI_MAX) | |
| IPPL_MPI_OP (std::greater< short >, MPI_MAX) | |
| IPPL_MPI_OP (std::greater< int >, MPI_MAX) | |
| IPPL_MPI_OP (std::greater< long >, MPI_MAX) | |
| IPPL_MPI_OP (std::greater< long long >, MPI_MAX) | |
| IPPL_MPI_OP (std::greater< unsigned char >, MPI_MAX) | |
| IPPL_MPI_OP (std::greater< unsigned short >, MPI_MAX) | |
| IPPL_MPI_OP (std::greater< unsigned int >, MPI_MAX) | |
| IPPL_MPI_OP (std::greater< unsigned long >, MPI_MAX) | |
| IPPL_MPI_OP (std::greater< unsigned long long >, MPI_MAX) | |
| IPPL_MPI_OP (std::greater< float >, MPI_MAX) | |
| IPPL_MPI_OP (std::greater< double >, MPI_MAX) | |
| IPPL_MPI_OP (std::greater< long double >, MPI_MAX) | |
| IPPL_MPI_OP (std::multiplies< short >, MPI_PROD) | |
| IPPL_MPI_OP (std::multiplies< int >, MPI_PROD) | |
| IPPL_MPI_OP (std::multiplies< long >, MPI_PROD) | |
| IPPL_MPI_OP (std::multiplies< long long >, MPI_PROD) | |
| IPPL_MPI_OP (std::multiplies< unsigned short >, MPI_PROD) | |
| IPPL_MPI_OP (std::multiplies< unsigned int >, MPI_PROD) | |
| IPPL_MPI_OP (std::multiplies< unsigned long >, MPI_PROD) | |
| IPPL_MPI_OP (std::multiplies< unsigned long long >, MPI_PROD) | |
| IPPL_MPI_OP (std::multiplies< float >, MPI_PROD) | |
| IPPL_MPI_OP (std::multiplies< double >, MPI_PROD) | |
| IPPL_MPI_OP (std::multiplies< long double >, MPI_PROD) | |
| IPPL_MPI_OP (std::logical_or< bool >, MPI_LOR) | |
| IPPL_MPI_OP (std::logical_and< bool >, MPI_LAND) | |
| template<typename Op, typename Datatype> | |
| MPI_Op | get_mpi_op () |
| IPPL_MPI_SERIALIZABLE (char) | |
| IPPL_MPI_SERIALIZABLE (short) | |
| IPPL_MPI_SERIALIZABLE (int) | |
| IPPL_MPI_SERIALIZABLE (long) | |
| IPPL_MPI_SERIALIZABLE (long long) | |
| IPPL_MPI_SERIALIZABLE (unsigned char) | |
| IPPL_MPI_SERIALIZABLE (unsigned short) | |
| IPPL_MPI_SERIALIZABLE (unsigned int) | |
| IPPL_MPI_SERIALIZABLE (unsigned long) | |
| IPPL_MPI_SERIALIZABLE (unsigned long long) | |
| IPPL_MPI_SERIALIZABLE (float) | |
| IPPL_MPI_SERIALIZABLE (double) | |
| IPPL_MPI_SERIALIZABLE (long double) | |
| IPPL_MPI_SERIALIZABLE (bool) | |
| IPPL_MPI_SERIALIZABLE (std::complex< float >) | |
| IPPL_MPI_SERIALIZABLE (std::complex< double >) | |
| IPPL_MPI_SERIALIZABLE (std::complex< long double >) | |
| template<std::contiguous_iterator InputIter, std::contiguous_iterator OutputIter> | |
| void | waitall (InputIter req_first, InputIter req_last, OutputIter sta_first) |
| void | wait (Request &request, Status &status) |
Variables | |
| static std::map< std::pair< std::type_index, std::type_index >, MPI_Op > | mpiOperations |
|
strong |
| Enumerator | |
|---|---|
| SUM | |
| MIN | |
| MAX | |
| MULTIPLICATION | |
Definition at line 20 of file Operations.h.
| std::vector< LogEntry > ippl::mpi::deserializeLogs | ( | const std::vector< char > & | buffer | ) |
Definition at line 79 of file CommunicatorLogging.cpp.
References ippl::LogEntry::deserialize(), and ippl::LogEntry::serialize().
Referenced by ippl::mpi::Communicator::gatherLogsFromAllRanks().
Definition at line 65 of file DataTypes.h.
References ippl::mpi::vector_dim_type< T >::Dim, get_mpi_datatype(), and ippl::mpi::core::type_names.
Referenced by ippl::mpi::Communicator::allreduce(), ippl::mpi::Communicator::allreduce(), ippl::mpi::Status::count(), ippl::mpi::Communicator::gather(), ippl::mpi::rma::Window< Target >::get(), ippl::mpi::rma::Window< Target >::get(), get_mpi_datatype(), ippl::mpi::Communicator::irecv(), ippl::mpi::Communicator::isend(), ippl::mpi::rma::Window< Target >::put(), ippl::mpi::rma::Window< Target >::put(), ippl::mpi::Communicator::recv(), ippl::mpi::Communicator::reduce(), ippl::mpi::Communicator::scatter(), and ippl::mpi::Communicator::send().
| MPI_Op ippl::mpi::get_mpi_op | ( | ) |
Definition at line 206 of file Operations.h.
Referenced by ippl::mpi::Communicator::allreduce(), ippl::mpi::Communicator::allreduce(), and ippl::mpi::Communicator::reduce().
| ippl::mpi::IPPL_MPI_OP | ( | std::greater< char > | , |
| MPI_MAX | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::greater< double > | , |
| MPI_MAX | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::greater< float > | , |
| MPI_MAX | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::greater< int > | , |
| MPI_MAX | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::greater< long > | , |
| MPI_MAX | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::greater< long double > | , |
| MPI_MAX | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::greater< long long > | , |
| MPI_MAX | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::greater< short > | , |
| MPI_MAX | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::greater< unsigned char > | , |
| MPI_MAX | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::greater< unsigned int > | , |
| MPI_MAX | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::greater< unsigned long > | , |
| MPI_MAX | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::greater< unsigned long long > | , |
| MPI_MAX | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::greater< unsigned short > | , |
| MPI_MAX | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::less< char > | , |
| MPI_MIN | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::less< double > | , |
| MPI_MIN | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::less< float > | , |
| MPI_MIN | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::less< int > | , |
| MPI_MIN | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::less< long > | , |
| MPI_MIN | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::less< long double > | , |
| MPI_MIN | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::less< long long > | , |
| MPI_MIN | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::less< short > | , |
| MPI_MIN | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::less< unsigned char > | , |
| MPI_MIN | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::less< unsigned int > | , |
| MPI_MIN | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::less< unsigned long > | , |
| MPI_MIN | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::less< unsigned long long > | , |
| MPI_MIN | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::less< unsigned short > | , |
| MPI_MIN | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::logical_and< bool > | , |
| MPI_LAND | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::logical_or< bool > | , |
| MPI_LOR | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::multiplies< double > | , |
| MPI_PROD | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::multiplies< float > | , |
| MPI_PROD | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::multiplies< int > | , |
| MPI_PROD | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::multiplies< long > | , |
| MPI_PROD | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::multiplies< long double > | , |
| MPI_PROD | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::multiplies< long long > | , |
| MPI_PROD | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::multiplies< short > | , |
| MPI_PROD | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::multiplies< unsigned int > | , |
| MPI_PROD | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::multiplies< unsigned long > | , |
| MPI_PROD | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::multiplies< unsigned long long > | , |
| MPI_PROD | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::multiplies< unsigned short > | , |
| MPI_PROD | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::plus< char > | , |
| MPI_SUM | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::plus< double > | , |
| MPI_SUM | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::plus< float > | , |
| MPI_SUM | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::plus< int > | , |
| MPI_SUM | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::plus< Kokkos::complex< double > > | , |
| MPI_SUM | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::plus< Kokkos::complex< float > > | , |
| MPI_SUM | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::plus< long > | , |
| MPI_SUM | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::plus< long double > | , |
| MPI_SUM | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::plus< long long > | , |
| MPI_SUM | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::plus< short > | , |
| MPI_SUM | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::plus< std::complex< double > > | , |
| MPI_SUM | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::plus< std::complex< float > > | , |
| MPI_SUM | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::plus< unsigned char > | , |
| MPI_SUM | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::plus< unsigned int > | , |
| MPI_SUM | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::plus< unsigned long > | , |
| MPI_SUM | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::plus< unsigned long long > | , |
| MPI_SUM | ) |
| ippl::mpi::IPPL_MPI_OP | ( | std::plus< unsigned short > | , |
| MPI_SUM | ) |
| ippl::mpi::IPPL_MPI_SERIALIZABLE | ( | bool | ) |
| ippl::mpi::IPPL_MPI_SERIALIZABLE | ( | char | ) |
| ippl::mpi::IPPL_MPI_SERIALIZABLE | ( | double | ) |
| ippl::mpi::IPPL_MPI_SERIALIZABLE | ( | float | ) |
| ippl::mpi::IPPL_MPI_SERIALIZABLE | ( | int | ) |
| ippl::mpi::IPPL_MPI_SERIALIZABLE | ( | long double | ) |
| ippl::mpi::IPPL_MPI_SERIALIZABLE | ( | long long | ) |
| ippl::mpi::IPPL_MPI_SERIALIZABLE | ( | long | ) |
| ippl::mpi::IPPL_MPI_SERIALIZABLE | ( | short | ) |
| ippl::mpi::IPPL_MPI_SERIALIZABLE | ( | std::complex< double > | ) |
| ippl::mpi::IPPL_MPI_SERIALIZABLE | ( | std::complex< float > | ) |
| ippl::mpi::IPPL_MPI_SERIALIZABLE | ( | std::complex< long double > | ) |
| ippl::mpi::IPPL_MPI_SERIALIZABLE | ( | unsigned char | ) |
| ippl::mpi::IPPL_MPI_SERIALIZABLE | ( | unsigned int | ) |
| ippl::mpi::IPPL_MPI_SERIALIZABLE | ( | unsigned long long | ) |
| ippl::mpi::IPPL_MPI_SERIALIZABLE | ( | unsigned long | ) |
| ippl::mpi::IPPL_MPI_SERIALIZABLE | ( | unsigned short | ) |
| std::vector< char > ippl::mpi::serializeLogs | ( | const std::vector< LogEntry > & | logs | ) |
Definition at line 68 of file CommunicatorLogging.cpp.
Referenced by ippl::mpi::Communicator::sendLogsToRank0().
| void ippl::mpi::waitall | ( | InputIter | req_first, |
| InputIter | req_last, | ||
| OutputIter | sta_first ) |
|
static |
Definition at line 58 of file Operations.h.
Referenced by ippl::mpi::getNontrivialMpiOpImpl< Op, Type >::operator()().