XGCa
Classes | Enumerations | Functions
mpi_space_wrapper.hpp File Reference
#include "space_settings.hpp"
#include "my_mirror_view.hpp"
Include dependency graph for mpi_space_wrapper.hpp:

Go to the source code of this file.

Classes

struct  is_host_space< Space >
 
struct  is_host_space< Kokkos::HostSpace >
 

Enumerations

enum class  MPISpaceOptions { AlwaysPreferGPUMPI , MixedPreferGPUMPI , MixedPreferHostMPI , AlwaysPreferHostMPI }
 
enum class  MPISpaceWrapperOptions { NotInPlace , InPlace }
 

Functions

template<class SendView , class RecvView , class Device , class F >
void MPI_call_space_wrapper (const SendView &send, const RecvView &recv, F &&user_mpi_call, MPISpaceWrapperOptions option_in_place, Device nd)
 
template<class SendView , class Device , class F >
void MPI_call_space_wrapper (const SendView &send, F &&user_mpi_call, Device nd)
 
template<class SendView , class RecvView >
bool MPI_choose_space (const SendView &send, const RecvView &recv, MPISpaceOptions option)
 
template<class SendView >
bool MPI_choose_space (const SendView &send, MPISpaceOptions option)
 
template<class SendView , class RecvView , class F >
void MPI_space_wrapper (const SendView &send_MD, const RecvView &recv_MD, F &&user_mpi_call, MPISpaceOptions option=MPISpaceOptions::MixedPreferGPUMPI, MPISpaceWrapperOptions in_place_option=MPISpaceWrapperOptions::NotInPlace)
 
template<class SendView , class F >
void MPI_space_wrapper (const SendView &send_MD, F &&user_mpi_call, MPISpaceOptions option=MPISpaceOptions::AlwaysPreferGPUMPI)
 

Enumeration Type Documentation

◆ MPISpaceOptions

enum MPISpaceOptions
strong
Enumerator
AlwaysPreferGPUMPI 
MixedPreferGPUMPI 
MixedPreferHostMPI 
AlwaysPreferHostMPI 

◆ MPISpaceWrapperOptions

Enumerator
NotInPlace 
InPlace 

Function Documentation

◆ MPI_call_space_wrapper() [1/2]

template<class SendView , class RecvView , class Device , class F >
void MPI_call_space_wrapper ( const SendView &  send,
const RecvView &  recv,
F &&  user_mpi_call,
MPISpaceWrapperOptions  option_in_place,
Device  nd 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ MPI_call_space_wrapper() [2/2]

template<class SendView , class Device , class F >
void MPI_call_space_wrapper ( const SendView &  send,
F &&  user_mpi_call,
Device  nd 
)
Here is the call graph for this function:

◆ MPI_choose_space() [1/2]

template<class SendView , class RecvView >
bool MPI_choose_space ( const SendView &  send,
const RecvView &  recv,
MPISpaceOptions  option 
)
Here is the caller graph for this function:

◆ MPI_choose_space() [2/2]

template<class SendView >
bool MPI_choose_space ( const SendView &  send,
MPISpaceOptions  option 
)

◆ MPI_space_wrapper() [1/2]

template<class SendView , class RecvView , class F >
void MPI_space_wrapper ( const SendView &  send_MD,
const RecvView &  recv_MD,
F &&  user_mpi_call,
MPISpaceOptions  option = MPISpaceOptions::MixedPreferGPUMPI,
MPISpaceWrapperOptions  in_place_option = MPISpaceWrapperOptions::NotInPlace 
)
Here is the call graph for this function:

◆ MPI_space_wrapper() [2/2]

template<class SendView , class F >
void MPI_space_wrapper ( const SendView &  send_MD,
F &&  user_mpi_call,
MPISpaceOptions  option = MPISpaceOptions::AlwaysPreferGPUMPI 
)
Here is the call graph for this function: