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
35
55 const LCAO_Orbitals& orb,
56 const InfoNonlocal& infoNL_,
57 const int T0,
60 const AdjacentAtomInfo& adjs,
61 const UnitCell* ucell,
62 const Parallel_Orbitals* paraV,
63 const int npol,
64 const int nlm_dim,
65 std::vector<std::vector<std::unordered_map<int, std::vector<std::complex<double>>>>>& nlm_tot);
66
67} // namespace gpu
68} // namespace module_rt
69
70#endif // SNAP_PSIBETA_GPU_H
Definition sltk_grid_driver.h:20
Definition setup_nonlocal.h:10
Definition ORB_read.h:19
3 elements vector
Definition vector3.h:22
Definition parallel_orbitals.h:9
Definition unitcell.h:17
void finalize_gpu_resources()
Release GPU resources (clear any error states) Should be called at the end of each calculate_HR.
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.
void initialize_gpu_resources()
Initialize GPU resources (copy grids to constant memory) Should be called at the start of each calcul...
Definition band_energy.cpp:11