Manager class for ELPA and ScaLAPACK. More...
#include <ElpaScalapackManager.h>
Public Member Functions | |
unsigned int | getScalapackBlockSize () const |
std::shared_ptr< const ProcessGrid > | getProcessGridDftefeScalaWrapper () const |
void | processGridELPASetup (const unsigned int na) |
void | elpaDeallocateHandles () |
const elpa_t & | getElpaHandle () const |
elpa_t & | getElpaHandlePartialEigenVec () |
elpa_autotune_t & | getElpaAutoTuneHandle () |
const bool & | useElpa () const |
const utils::mpi::MPIComm & | getMPICommunicator () const |
Get relevant mpi communicator. More... | |
ElpaScalapackManager (const utils::mpi::MPIComm &mpi_comm_replica, const size_type scalapackParalProcs, const bool useELPA, const size_type scalapackBlockSize, const bool useELPADeviceKernel) | |
Constructor. More... | |
~ElpaScalapackManager () | |
Destructor. More... | |
Public Attributes | |
utils::mpi::MPIComm | d_mpi_communicator |
elpa_t | d_elpaHandle |
ELPA handle. More... | |
elpa_t | d_elpaHandlePartialEigenVec |
ELPA handle for partial eigenvectors of full proj ham. More... | |
elpa_autotune_t | d_elpaAutoTuneHandle |
ELPA autotune handle. More... | |
utils::mpi::MPIComm | d_processGridCommunicatorActive |
processGrid mpi communicator More... | |
utils::mpi::MPIComm | d_processGridCommunicatorActivePartial |
const size_type | d_scalapackBlockSizeInp |
const bool | d_useELPA |
const size_type | d_scalapackParalProcs |
const bool | d_useELPADeviceKernel |
unsigned int | d_scalapackBlockSize |
ScaLAPACK distributed format block size. More... | |
std::shared_ptr< const ProcessGrid > | d_processGridDftefeWrapper |
Manager class for ELPA and ScaLAPACK.
dftefe::linearAlgebra::ElpaScalapackManager::ElpaScalapackManager | ( | const utils::mpi::MPIComm & | mpi_comm_replica, |
const size_type | scalapackParalProcs, | ||
const bool | useELPA, | ||
const size_type | scalapackBlockSize, | ||
const bool | useELPADeviceKernel | ||
) |
Constructor.
dftefe::linearAlgebra::ElpaScalapackManager::~ElpaScalapackManager | ( | ) |
Destructor.
void dftefe::linearAlgebra::ElpaScalapackManager::elpaDeallocateHandles | ( | ) |
|
inline |
|
inline |
|
inline |
const utils::mpi::MPIComm & dftefe::linearAlgebra::ElpaScalapackManager::getMPICommunicator | ( | ) | const |
Get relevant mpi communicator.
|
inline |
|
inline |
void dftefe::linearAlgebra::ElpaScalapackManager::processGridELPASetup | ( | const unsigned int | na | ) |
|
inline |
elpa_autotune_t dftefe::linearAlgebra::ElpaScalapackManager::d_elpaAutoTuneHandle |
ELPA autotune handle.
elpa_t dftefe::linearAlgebra::ElpaScalapackManager::d_elpaHandle |
ELPA handle.
elpa_t dftefe::linearAlgebra::ElpaScalapackManager::d_elpaHandlePartialEigenVec |
ELPA handle for partial eigenvectors of full proj ham.
utils::mpi::MPIComm dftefe::linearAlgebra::ElpaScalapackManager::d_mpi_communicator |
utils::mpi::MPIComm dftefe::linearAlgebra::ElpaScalapackManager::d_processGridCommunicatorActive |
processGrid mpi communicator
utils::mpi::MPIComm dftefe::linearAlgebra::ElpaScalapackManager::d_processGridCommunicatorActivePartial |
std::shared_ptr<const ProcessGrid> dftefe::linearAlgebra::ElpaScalapackManager::d_processGridDftefeWrapper |
unsigned int dftefe::linearAlgebra::ElpaScalapackManager::d_scalapackBlockSize |
ScaLAPACK distributed format block size.
const size_type dftefe::linearAlgebra::ElpaScalapackManager::d_scalapackBlockSizeInp |
const size_type dftefe::linearAlgebra::ElpaScalapackManager::d_scalapackParalProcs |
const bool dftefe::linearAlgebra::ElpaScalapackManager::d_useELPA |
const bool dftefe::linearAlgebra::ElpaScalapackManager::d_useELPADeviceKernel |