PSCF v1.4.0
AmCompressor.cu
1/*
2* PSCF - Polymer Self-Consistent Field
3*
4* Copyright 2015 - 2025, The Regents of the University of Minnesota
5* Distributed under the terms of the GNU General Public License.
6*/
7
8#include "AmCompressor.h"
9#include <rpg/system/System.h>
10#include <rpg/solvers/Mixture.h>
11#include <rpg/field/Domain.h>
12#include <rpg/field/CFields.h>
13#include <rpg/field/WFields.h>
14
15#include <prdc/cuda/RField.h>
16#include <pscf/cuda/VecOp.h>
17#include <pscf/cuda/Reduce.h>
18
19#include <rp/fts/compressor/AmCompressor.tpp>
20
21namespace Pscf {
22namespace Rpg {
23
24 /*
25 * Constructor.
26 */
27 template <int D>
31
32}
33}
34
35// Explicit instantiation definitions
36namespace Pscf {
37 namespace Rp {
38 template
39 class AmCompressor<1, Rpg::Types<1>, DeviceArray<cudaReal> >;
40 template
41 class AmCompressor<2, Rpg::Types<2>, DeviceArray<cudaReal> >;
42 template
43 class AmCompressor<3, Rpg::Types<3>, DeviceArray<cudaReal> >;
44 }
45 namespace Rpg {
46 template class AmCompressor<1>;
47 template class AmCompressor<2>;
48 template class AmCompressor<3>;
49 }
50}
Dynamic array on the GPU device with aligned data.
Definition DeviceArray.h:96
Anderson mixing compressor.
AmCompressor(System< D > &system)
Constructor.
Main class, representing a complete physical system.
List of aliases for types used in the Rpg program-level namespace.
Class templates for real-valued periodic fields.
SCFT and PS-FTS with real periodic fields (GPU)
PSCF package top-level namespace.
cufftDoubleReal cudaReal
Real number type used in CPU code that uses FFTW.
Definition cudaTypes.h:35