ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
gint_tau_gpu.h
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include <vector>
6#include "gint.h"
7#include "gint_info.h"
9
10namespace ModuleGint
11{
12
13class Gint_tau_gpu : public Gint
14{
15 public:
17 const std::vector<HContainer<double>*>& dm_vec,
18 const int nspin,
19 double** tau)
20 : dm_vec_(dm_vec), nspin_(nspin), kin_(tau) {}
21
22 void cal_gint();
23
24 private:
25 void init_dm_gint_();
26
28
30
31 void cal_tau_();
32
33 // input
34 const std::vector<HContainer<double>*> dm_vec_;
35 const int nspin_;
36
37 // output
38 double **kin_;
39
40 // Intermediate variables
41 std::vector<HContainer<double>> dm_gint_vec_;
42
43 std::vector<CudaMemWrapper<double>> dm_gint_d_vec_;
44 std::vector<CudaMemWrapper<double>> kin_d_vec_;
45};
46
47}
Definition gint_tau_gpu.h:14
Gint_tau_gpu(const std::vector< HContainer< double > * > &dm_vec, const int nspin, double **tau)
Definition gint_tau_gpu.h:16
std::vector< CudaMemWrapper< double > > dm_gint_d_vec_
Definition gint_tau_gpu.h:43
void transfer_cpu_to_gpu_()
Definition gint_tau_gpu.cpp:29
void init_dm_gint_()
Definition gint_tau_gpu.cpp:20
std::vector< HContainer< double > > dm_gint_vec_
Definition gint_tau_gpu.h:41
const std::vector< HContainer< double > * > dm_vec_
Definition gint_tau_gpu.h:34
std::vector< CudaMemWrapper< double > > kin_d_vec_
Definition gint_tau_gpu.h:44
void cal_tau_()
Definition gint_tau_gpu.cpp:51
void transfer_gpu_to_cpu_()
Definition gint_tau_gpu.cpp:42
const int nspin_
Definition gint_tau_gpu.h:35
double ** kin_
Definition gint_tau_gpu.h:38
void cal_gint()
Definition gint_tau_gpu.cpp:10
Definition gint.h:10
Definition hcontainer.h:144
Definition batch_biggrid.cpp:4