ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
parallel_device.h File Reference
#include "mpi.h"
#include "source_base/module_device/device.h"
#include "source_base/module_device/memory_op.h"
#include <complex>
Include dependency graph for parallel_device.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Parallel_Common::object_cpu_point< T, Device >
 

Namespaces

namespace  Parallel_Common
 

Functions

void Parallel_Common::isend_data (const double *buf, int count, int dest, int tag, MPI_Comm &comm, MPI_Request *request)
 
void Parallel_Common::isend_data (const std::complex< double > *buf, int count, int dest, int tag, MPI_Comm &comm, MPI_Request *request)
 
void Parallel_Common::isend_data (const float *buf, int count, int dest, int tag, MPI_Comm &comm, MPI_Request *request)
 
void Parallel_Common::isend_data (const std::complex< float > *buf, int count, int dest, int tag, MPI_Comm &comm, MPI_Request *request)
 
void Parallel_Common::send_data (const double *buf, int count, int dest, int tag, MPI_Comm &comm)
 
void Parallel_Common::send_data (const std::complex< double > *buf, int count, int dest, int tag, MPI_Comm &comm)
 
void Parallel_Common::send_data (const float *buf, int count, int dest, int tag, MPI_Comm &comm)
 
void Parallel_Common::send_data (const std::complex< float > *buf, int count, int dest, int tag, MPI_Comm &comm)
 
void Parallel_Common::recv_data (double *buf, int count, int source, int tag, MPI_Comm &comm, MPI_Status *status)
 
void Parallel_Common::recv_data (std::complex< double > *buf, int count, int source, int tag, MPI_Comm &comm, MPI_Status *status)
 
void Parallel_Common::recv_data (float *buf, int count, int source, int tag, MPI_Comm &comm, MPI_Status *status)
 
void Parallel_Common::recv_data (std::complex< float > *buf, int count, int source, int tag, MPI_Comm &comm, MPI_Status *status)
 
void Parallel_Common::bcast_data (std::complex< double > *object, const int &n, const MPI_Comm &comm)
 
void Parallel_Common::bcast_data (std::complex< float > *object, const int &n, const MPI_Comm &comm)
 
void Parallel_Common::bcast_data (double *object, const int &n, const MPI_Comm &comm)
 
void Parallel_Common::bcast_data (float *object, const int &n, const MPI_Comm &comm)
 
void Parallel_Common::reduce_data (std::complex< double > *object, const int &n, const MPI_Comm &comm)
 
void Parallel_Common::reduce_data (std::complex< float > *object, const int &n, const MPI_Comm &comm)
 
void Parallel_Common::reduce_data (double *object, const int &n, const MPI_Comm &comm)
 
void Parallel_Common::reduce_data (float *object, const int &n, const MPI_Comm &comm)
 
void Parallel_Common::gatherv_data (const double *sendbuf, int sendcount, double *recvbuf, const int *recvcounts, const int *displs, MPI_Comm &comm)
 
void Parallel_Common::gatherv_data (const std::complex< double > *sendbuf, int sendcount, std::complex< double > *recvbuf, const int *recvcounts, const int *displs, MPI_Comm &comm)
 
void Parallel_Common::gatherv_data (const float *sendbuf, int sendcount, float *recvbuf, const int *recvcounts, const int *displs, MPI_Comm &comm)
 
void Parallel_Common::gatherv_data (const std::complex< float > *sendbuf, int sendcount, std::complex< float > *recvbuf, const int *recvcounts, const int *displs, MPI_Comm &comm)
 
template<typename T , typename Device >
void Parallel_Common::send_dev (const T *object, int count, int dest, int tag, MPI_Comm &comm, T *tmp_space=nullptr)
 send data in Device
 
template<typename T , typename Device >
void Parallel_Common::isend_dev (const T *object, int count, int dest, int tag, MPI_Comm &comm, MPI_Request *request, T *send_space)
 isend data in Device
 
template<typename T , typename Device >
void Parallel_Common::recv_dev (T *object, int count, int source, int tag, MPI_Comm &comm, MPI_Status *status, T *tmp_space=nullptr)
 recv data in Device
 
template<typename T , typename Device >
void Parallel_Common::bcast_dev (T *object, const int &n, const MPI_Comm &comm, T *tmp_space=nullptr)
 bcast data in Device
 
template<typename T , typename Device >
void Parallel_Common::reduce_dev (T *object, const int &n, const MPI_Comm &comm, T *tmp_space=nullptr)
 
template<typename T , typename Device >
void Parallel_Common::gatherv_dev (const T *sendbuf, int sendcount, T *recvbuf, const int *recvcounts, const int *displs, MPI_Comm &comm, T *tmp_sspace=nullptr, T *tmp_rspace=nullptr)