DFT-EFE
 
Loading...
Searching...
No Matches
dftefe::linearAlgebra::ElpaScalapackManager Class Reference

Manager class for ELPA and ScaLAPACK. More...

#include <ElpaScalapackManager.h>

Public Member Functions

unsigned int getScalapackBlockSize () const
 
std::shared_ptr< const ProcessGridgetProcessGridDftefeScalaWrapper () 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::MPICommgetMPICommunicator () 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 ProcessGridd_processGridDftefeWrapper
 

Detailed Description

Manager class for ELPA and ScaLAPACK.

Author
Sambit Das, Aviup Sircar

Constructor & Destructor Documentation

◆ ElpaScalapackManager()

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.

◆ ~ElpaScalapackManager()

dftefe::linearAlgebra::ElpaScalapackManager::~ElpaScalapackManager ( )

Destructor.

Here is the call graph for this function:

Member Function Documentation

◆ elpaDeallocateHandles()

void dftefe::linearAlgebra::ElpaScalapackManager::elpaDeallocateHandles ( )

◆ getElpaAutoTuneHandle()

elpa_autotune_t & dftefe::linearAlgebra::ElpaScalapackManager::getElpaAutoTuneHandle ( )
inline

◆ getElpaHandle()

const elpa_t & dftefe::linearAlgebra::ElpaScalapackManager::getElpaHandle ( ) const
inline

◆ getElpaHandlePartialEigenVec()

elpa_t & dftefe::linearAlgebra::ElpaScalapackManager::getElpaHandlePartialEigenVec ( )
inline

◆ getMPICommunicator()

const utils::mpi::MPIComm & dftefe::linearAlgebra::ElpaScalapackManager::getMPICommunicator ( ) const

Get relevant mpi communicator.

Returns
mpi communicator
Here is the caller graph for this function:

◆ getProcessGridDftefeScalaWrapper()

std::shared_ptr< const ProcessGrid > dftefe::linearAlgebra::ElpaScalapackManager::getProcessGridDftefeScalaWrapper ( ) const
inline

◆ getScalapackBlockSize()

unsigned int dftefe::linearAlgebra::ElpaScalapackManager::getScalapackBlockSize ( ) const
inline

◆ processGridELPASetup()

void dftefe::linearAlgebra::ElpaScalapackManager::processGridELPASetup ( const unsigned int  na)
Here is the call graph for this function:

◆ useElpa()

const bool & dftefe::linearAlgebra::ElpaScalapackManager::useElpa ( ) const
inline

Member Data Documentation

◆ d_elpaAutoTuneHandle

elpa_autotune_t dftefe::linearAlgebra::ElpaScalapackManager::d_elpaAutoTuneHandle

ELPA autotune handle.

◆ d_elpaHandle

elpa_t dftefe::linearAlgebra::ElpaScalapackManager::d_elpaHandle

ELPA handle.

◆ d_elpaHandlePartialEigenVec

elpa_t dftefe::linearAlgebra::ElpaScalapackManager::d_elpaHandlePartialEigenVec

ELPA handle for partial eigenvectors of full proj ham.

◆ d_mpi_communicator

utils::mpi::MPIComm dftefe::linearAlgebra::ElpaScalapackManager::d_mpi_communicator

◆ d_processGridCommunicatorActive

utils::mpi::MPIComm dftefe::linearAlgebra::ElpaScalapackManager::d_processGridCommunicatorActive

processGrid mpi communicator

◆ d_processGridCommunicatorActivePartial

utils::mpi::MPIComm dftefe::linearAlgebra::ElpaScalapackManager::d_processGridCommunicatorActivePartial

◆ d_processGridDftefeWrapper

std::shared_ptr<const ProcessGrid> dftefe::linearAlgebra::ElpaScalapackManager::d_processGridDftefeWrapper

◆ d_scalapackBlockSize

unsigned int dftefe::linearAlgebra::ElpaScalapackManager::d_scalapackBlockSize

ScaLAPACK distributed format block size.

◆ d_scalapackBlockSizeInp

const size_type dftefe::linearAlgebra::ElpaScalapackManager::d_scalapackBlockSizeInp

◆ d_scalapackParalProcs

const size_type dftefe::linearAlgebra::ElpaScalapackManager::d_scalapackParalProcs

◆ d_useELPA

const bool dftefe::linearAlgebra::ElpaScalapackManager::d_useELPA

◆ d_useELPADeviceKernel

const bool dftefe::linearAlgebra::ElpaScalapackManager::d_useELPADeviceKernel

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