|
Grid 0.7.0
|
#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 |
| GridBase * | coarse_grid |
| GridBase * | fine_grid |
| uint64_t | block_vol |
| uint64_t | fine_vol |
| uint64_t | coarse_vol |
| uint64_t | words |
| deviceVector< scalar > | BLAS_V |
| deviceVector< scalar > | BLAS_F |
| deviceVector< scalar > | BLAS_C |
Definition at line 48 of file MultiRHSBlockProject.h.
| typedef Field::scalar_type MultiRHSBlockProject< Field >::scalar |
Definition at line 52 of file MultiRHSBlockProject.h.
| typedef Field::scalar_object MultiRHSBlockProject< Field >::scalar_object |
Definition at line 53 of file MultiRHSBlockProject.h.
| typedef Field MultiRHSBlockProject< Field >::Fermion |
Definition at line 54 of file MultiRHSBlockProject.h.
|
inline |
Definition at line 97 of file MultiRHSBlockProject.h.
|
inline |
Definition at line 98 of file MultiRHSBlockProject.h.
References Deallocate().
|
inline |
Definition at line 85 of file MultiRHSBlockProject.h.
References acceleratorCopyFromDevice(), adj(), coarse_grid, and real().
|
inline |
Definition at line 100 of file MultiRHSBlockProject.h.
References BLAS_C, BLAS_F, BLAS_V, block_vol, coarse_grid, coarse_vol, fine_grid, fine_vol, nbasis, and words.
Referenced by ~MultiRHSBlockProject().
|
inline |
Definition at line 113 of file MultiRHSBlockProject.h.
References BLAS_V, block_vol, coarse_grid, coarse_vol, fine_grid, fine_vol, nbasis, and words.
Referenced by MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::CoarsenOperator().
|
inline |
Definition at line 128 of file MultiRHSBlockProject.h.
References accelerator_for, acceleratorMemSet(), AcceleratorRead, acceleratorSIMTlane(), autoView, block_vol, coarse_grid, extractLane(), fine_grid, subdivides(), and words.
Referenced by blockProject(), and ImportBasis().
|
inline |
Definition at line 216 of file MultiRHSBlockProject.h.
References accelerator_for, acceleratorSIMTlane(), AcceleratorWrite, autoView, block_vol, coarse_grid, fine_grid, insertLane(), subdivides(), and words.
Referenced by blockPromote().
|
inline |
Definition at line 295 of file MultiRHSBlockProject.h.
References accelerator_for, AcceleratorRead, acceleratorSIMTlane(), autoView, coarse_grid, extractLane(), and nbasis.
Referenced by blockPromote().
|
inline |
Definition at line 350 of file MultiRHSBlockProject.h.
References accelerator_for, acceleratorSIMTlane(), AcceleratorWrite, autoView, coarse_grid, insertLane(), and nbasis.
Referenced by blockProject().
|
inline |
Definition at line 400 of file MultiRHSBlockProject.h.
References BLAS_V, and ImportFineGridVectors().
Referenced by MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::CoarsenOperator().
|
inline |
Definition at line 407 of file MultiRHSBlockProject.h.
References acceleratorPut(), BLAS_C, BLAS_F, BLAS_V, block_vol, coarse_vol, ExportCoarseGridVectors(), fine_vol, GridBLAS::gemmBatched(), GridBLAS_OP_C, GridBLAS_OP_N, ImportFineGridVectors(), nbasis, GridBLAS::synchronise(), and words.
Referenced by MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::CoarsenOperator(), TwoLevelADEF2mrhs< Field, CoarseField >::PcgM1(), and TwoLevelADEF2mrhs< Field, CoarseField >::Vstart().
|
inline |
Definition at line 463 of file MultiRHSBlockProject.h.
References acceleratorPut(), BLAS_C, BLAS_F, BLAS_V, block_vol, coarse_vol, ExportFineGridVectors(), fine_vol, GridBLAS::gemmBatched(), GridBLAS_OP_N, ImportCoarseGridVectors(), nbasis, GridBLAS::synchronise(), and words.
Referenced by TwoLevelADEF2mrhs< Field, CoarseField >::PcgM1(), and TwoLevelADEF2mrhs< Field, CoarseField >::Vstart().
| int MultiRHSBlockProject< Field >::nbasis |
Definition at line 56 of file MultiRHSBlockProject.h.
Referenced by Allocate(), blockProject(), blockPromote(), Deallocate(), ExportCoarseGridVectors(), and ImportCoarseGridVectors().
| GridBase* MultiRHSBlockProject< Field >::coarse_grid |
Definition at line 57 of file MultiRHSBlockProject.h.
Referenced by Allocate(), blasNorm2(), Deallocate(), ExportCoarseGridVectors(), ExportFineGridVectors(), ImportCoarseGridVectors(), ImportFineGridVectors(), and TwoLevelADEF2mrhs< Field, CoarseField >::TwoLevelADEF2mrhs().
| GridBase* MultiRHSBlockProject< Field >::fine_grid |
Definition at line 58 of file MultiRHSBlockProject.h.
Referenced by Allocate(), Deallocate(), ExportFineGridVectors(), and ImportFineGridVectors().
| uint64_t MultiRHSBlockProject< Field >::block_vol |
Definition at line 59 of file MultiRHSBlockProject.h.
Referenced by Allocate(), blockProject(), blockPromote(), Deallocate(), ExportFineGridVectors(), and ImportFineGridVectors().
| uint64_t MultiRHSBlockProject< Field >::fine_vol |
Definition at line 60 of file MultiRHSBlockProject.h.
Referenced by Allocate(), blockProject(), blockPromote(), and Deallocate().
| uint64_t MultiRHSBlockProject< Field >::coarse_vol |
Definition at line 61 of file MultiRHSBlockProject.h.
Referenced by Allocate(), blockProject(), blockPromote(), and Deallocate().
| uint64_t MultiRHSBlockProject< Field >::words |
Definition at line 62 of file MultiRHSBlockProject.h.
Referenced by Allocate(), blockProject(), blockPromote(), Deallocate(), ExportFineGridVectors(), and ImportFineGridVectors().
| deviceVector<scalar> MultiRHSBlockProject< Field >::BLAS_V |
Definition at line 81 of file MultiRHSBlockProject.h.
Referenced by Allocate(), blockProject(), blockPromote(), Deallocate(), and ImportBasis().
| deviceVector<scalar> MultiRHSBlockProject< Field >::BLAS_F |
Definition at line 82 of file MultiRHSBlockProject.h.
Referenced by blockProject(), blockPromote(), and Deallocate().
| deviceVector<scalar> MultiRHSBlockProject< Field >::BLAS_C |
Definition at line 83 of file MultiRHSBlockProject.h.
Referenced by blockProject(), blockPromote(), and Deallocate().