ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
onsite_op.h
Go to the documentation of this file.
1#ifndef MODULE_HAMILT_OPERATOR_KERNELS_ONSITE_H
2#define MODULE_HAMILT_OPERATOR_KERNELS_ONSITE_H
3
4#include "source_psi/psi.h"
5#include <complex>
6
7namespace hamilt {
8template <typename FPTYPE, typename Device>
11 const Device* dev,
12 const int& npm,
13 const int npol,
14 const int* ip_iat,
15 const int& tnp,
16 const std::complex<FPTYPE>* lambda_coeff,
17 std::complex<FPTYPE>* ps,
18 const std::complex<FPTYPE>* becp);
19
21 const Device* dev,
22 const int& npm,
23 const int npol,
24 const int* orb_l_iat,
25 const int* ip_iat,
26 const int* ip_m,
27 const int* vu_begin_iat,
28 const int& tnp,
29 const std::complex<FPTYPE>* vu,
30 std::complex<FPTYPE>* ps,
31 const std::complex<FPTYPE>* becp);
32};
33
34#if __CUDA || __UT_USE_CUDA || __ROCM || __UT_USE_ROCM
35// Partially specialize functor for base_device::GpuDevice.
36template <typename FPTYPE>
37struct onsite_ps_op<FPTYPE, base_device::DEVICE_GPU> {
38 void operator() (
39 const base_device::DEVICE_GPU* dev,
40 const int& npm,
41 const int npol,
42 const int* ip_iat,
43 const int& tnp,
44 const std::complex<FPTYPE>* lambda_coeff,
45 std::complex<FPTYPE>* ps,
46 const std::complex<FPTYPE>* becp);
47
48 void operator() (
49 const base_device::DEVICE_GPU* dev,
50 const int& npm,
51 const int npol,
52 const int* orb_l_iat,
53 const int* ip_iat,
54 const int* ip_m,
55 const int* vu_begin_iat,
56 const int& tnp,
57 const std::complex<FPTYPE>* vu,
58 std::complex<FPTYPE>* ps,
59 const std::complex<FPTYPE>* becp);
60};
61#endif // __CUDA || __UT_USE_CUDA || __ROCM || __UT_USE_ROCM
62} // namespace hamilt
63#endif //MODULE_HAMILT_OPERATOR_KERNELS_ONSITE_H
Definition device.cpp:21
Definition hamilt.h:12
Definition onsite_op.h:9
void operator()(const Device *dev, const int &npm, const int npol, const int *ip_iat, const int &tnp, const std::complex< FPTYPE > *lambda_coeff, std::complex< FPTYPE > *ps, const std::complex< FPTYPE > *becp)