19#if defined(DFTFE_WITH_DEVICE)
20# ifndef linearSolverCGDevice_H_
21# define linearSolverCGDevice_H_
34 class linearSolverCGDevice :
public linearSolverDevice
51 const MPI_Comm & mpi_comm_parent,
52 const MPI_Comm & mpi_comm_domain,
53 const solverType type,
54 const std::shared_ptr<
55 dftfe::linearAlgebra::BLASWrapper<dftfe::utils::MemorySpace::DEVICE>>
70 solve(linearSolverProblemDevice &problem,
71 const double absTolerance,
72 const unsigned int maxNumberIterations,
73 const int debugLevel = 0,
74 bool distributeFlag =
true);
78 const solverType d_type;
81 distributedDeviceVec<double> d_qvec, d_rvec, d_dvec;
85 dftfe::utils::MemoryStorage<double, dftfe::utils::MemorySpace::DEVICE>
88 const MPI_Comm d_mpiCommParent;
89 const MPI_Comm mpi_communicator;
90 const unsigned int n_mpi_processes;
91 const unsigned int this_mpi_process;
92 dealii::ConditionalOStream pcout;
94 dftfe::linearAlgebra::BLASWrapper<dftfe::utils::MemorySpace::DEVICE>>
102 applyPreconditionAndComputeDotProduct(
const double *jacobi);
109 applyPreconditionComputeDotProductAndSadd(
const double *jacobi);
116 scaleXRandComputeNorm(
double *x,
const double &alpha);
Definition pseudoPotentialToDftfeConverter.cc:34