ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
snap_psibeta_gpu.h
Go to the documentation of this file.
1#ifndef SNAP_PSIBETA_GPU_H
2#define SNAP_PSIBETA_GPU_H
3
10
11#include <complex>
12#include <unordered_map>
13#include <vector>
14
15#ifdef __CUDA
16#include <cuda_runtime.h>
17#endif
18
19namespace module_rt
20{
21namespace gpu
22{
23
29
49 const LCAO_Orbitals& orb,
50 const InfoNonlocal& infoNL_,
51 const int T0,
54 const AdjacentAtomInfo& adjs,
55 const UnitCell* ucell,
56 const Parallel_Orbitals* paraV,
57 const int npol,
58 const int nlm_dim,
59 std::vector<std::vector<std::unordered_map<int, std::vector<std::complex<double>>>>>& nlm_tot);
60
61} // namespace gpu
62} // namespace module_rt
63
64#endif // SNAP_PSIBETA_GPU_H
Definition sltk_grid_driver.h:17
Definition setup_nonlocal.h:8
Definition ORB_read.h:18
3 elements vector
Definition vector3.h:24
Definition parallel_orbitals.h:9
Definition unitcell.h:15
void init_snap_psibeta_gpu()
Initialize GPU resources for snap_psibeta module (copy grids to constant memory) Should be called at ...
void snap_psibeta_atom_batch_gpu(const LCAO_Orbitals &orb, const InfoNonlocal &infoNL_, const int T0, const ModuleBase::Vector3< double > &R0, const ModuleBase::Vector3< double > &A, const AdjacentAtomInfo &adjs, const UnitCell *ucell, const Parallel_Orbitals *paraV, const int npol, const int nlm_dim, std::vector< std::vector< std::unordered_map< int, std::vector< std::complex< double > > > > > &nlm_tot)
Atom-level GPU batch processing interface.
Definition band_energy.cpp:15