Grid 0.7.0
MultiRHSBlockProject< Field > Class Template Reference

#include <MultiRHSBlockProject.h>

Public Types

typedef Field::scalar_type scalar
typedef Field::scalar_object scalar_object
typedef Field Fermion

Public Member Functions

RealD blasNorm2 (deviceVector< scalar > &blas)
 MultiRHSBlockProject ()
 ~MultiRHSBlockProject ()
void Deallocate (void)
void Allocate (int _nbasis, GridBase *_fgrid, GridBase *_cgrid)
void ImportFineGridVectors (std::vector< Field > &vecs, deviceVector< scalar > &blas)
void ExportFineGridVectors (std::vector< Field > &vecs, deviceVector< scalar > &blas)
template<class vobj>
void ImportCoarseGridVectors (std::vector< Lattice< vobj > > &vecs, deviceVector< scalar > &blas)
template<class vobj>
void ExportCoarseGridVectors (std::vector< Lattice< vobj > > &vecs, deviceVector< scalar > &blas)
void ImportBasis (std::vector< Field > &vecs)
template<class cobj>
void blockProject (std::vector< Field > &fine, std::vector< Lattice< cobj > > &coarse)
template<class cobj>
void blockPromote (std::vector< Field > &fine, std::vector< Lattice< cobj > > &coarse)

Data Fields

int nbasis
GridBasecoarse_grid
GridBasefine_grid
uint64_t block_vol
uint64_t fine_vol
uint64_t coarse_vol
uint64_t words
deviceVector< scalarBLAS_V
deviceVector< scalarBLAS_F
deviceVector< scalarBLAS_C

Detailed Description

template<class Field>
class MultiRHSBlockProject< Field >

Definition at line 48 of file MultiRHSBlockProject.h.

Member Typedef Documentation

◆ scalar

template<class Field>
typedef Field::scalar_type MultiRHSBlockProject< Field >::scalar

Definition at line 52 of file MultiRHSBlockProject.h.

◆ scalar_object

template<class Field>
typedef Field::scalar_object MultiRHSBlockProject< Field >::scalar_object

Definition at line 53 of file MultiRHSBlockProject.h.

◆ Fermion

template<class Field>
typedef Field MultiRHSBlockProject< Field >::Fermion

Definition at line 54 of file MultiRHSBlockProject.h.

Constructor & Destructor Documentation

◆ MultiRHSBlockProject()

template<class Field>
MultiRHSBlockProject< Field >::MultiRHSBlockProject ( )
inline

Definition at line 97 of file MultiRHSBlockProject.h.

◆ ~MultiRHSBlockProject()

template<class Field>
MultiRHSBlockProject< Field >::~MultiRHSBlockProject ( )
inline

Definition at line 98 of file MultiRHSBlockProject.h.

References Deallocate().

Member Function Documentation

◆ blasNorm2()

template<class Field>
RealD MultiRHSBlockProject< Field >::blasNorm2 ( deviceVector< scalar > & blas)
inline

Definition at line 85 of file MultiRHSBlockProject.h.

References acceleratorCopyFromDevice(), adj(), coarse_grid, and real().

◆ Deallocate()

template<class Field>
void MultiRHSBlockProject< Field >::Deallocate ( void )
inline

◆ Allocate()

template<class Field>
void MultiRHSBlockProject< Field >::Allocate ( int _nbasis,
GridBase * _fgrid,
GridBase * _cgrid )
inline

◆ ImportFineGridVectors()

template<class Field>
void MultiRHSBlockProject< Field >::ImportFineGridVectors ( std::vector< Field > & vecs,
deviceVector< scalar > & blas )
inline

◆ ExportFineGridVectors()

template<class Field>
void MultiRHSBlockProject< Field >::ExportFineGridVectors ( std::vector< Field > & vecs,
deviceVector< scalar > & blas )
inline

◆ ImportCoarseGridVectors()

template<class Field>
template<class vobj>
void MultiRHSBlockProject< Field >::ImportCoarseGridVectors ( std::vector< Lattice< vobj > > & vecs,
deviceVector< scalar > & blas )
inline

◆ ExportCoarseGridVectors()

template<class Field>
template<class vobj>
void MultiRHSBlockProject< Field >::ExportCoarseGridVectors ( std::vector< Lattice< vobj > > & vecs,
deviceVector< scalar > & blas )
inline

◆ ImportBasis()

template<class Field>
void MultiRHSBlockProject< Field >::ImportBasis ( std::vector< Field > & vecs)
inline

◆ blockProject()

◆ blockPromote()

template<class Field>
template<class cobj>
void MultiRHSBlockProject< Field >::blockPromote ( std::vector< Field > & fine,
std::vector< Lattice< cobj > > & coarse )
inline

Field Documentation

◆ nbasis

template<class Field>
int MultiRHSBlockProject< Field >::nbasis

◆ coarse_grid

◆ fine_grid

template<class Field>
GridBase* MultiRHSBlockProject< Field >::fine_grid

◆ block_vol

template<class Field>
uint64_t MultiRHSBlockProject< Field >::block_vol

◆ fine_vol

template<class Field>
uint64_t MultiRHSBlockProject< Field >::fine_vol

Definition at line 60 of file MultiRHSBlockProject.h.

Referenced by Allocate(), blockProject(), blockPromote(), and Deallocate().

◆ coarse_vol

template<class Field>
uint64_t MultiRHSBlockProject< Field >::coarse_vol

Definition at line 61 of file MultiRHSBlockProject.h.

Referenced by Allocate(), blockProject(), blockPromote(), and Deallocate().

◆ words

template<class Field>
uint64_t MultiRHSBlockProject< Field >::words

◆ BLAS_V

template<class Field>
deviceVector<scalar> MultiRHSBlockProject< Field >::BLAS_V

Definition at line 81 of file MultiRHSBlockProject.h.

Referenced by Allocate(), blockProject(), blockPromote(), Deallocate(), and ImportBasis().

◆ BLAS_F

template<class Field>
deviceVector<scalar> MultiRHSBlockProject< Field >::BLAS_F

Definition at line 82 of file MultiRHSBlockProject.h.

Referenced by blockProject(), blockPromote(), and Deallocate().

◆ BLAS_C

template<class Field>
deviceVector<scalar> MultiRHSBlockProject< Field >::BLAS_C

Definition at line 83 of file MultiRHSBlockProject.h.

Referenced by blockProject(), blockPromote(), and Deallocate().


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