STORMM Source Documentation
Loading...
Searching...
No Matches
hpc_coordinate_copy.h
1// -*-c++-*-
2#ifndef HPC_COORDINATE_COPY_H
3#define HPC_COORDINATE_COPY_H
4
5#include "copyright.h"
6#include "Accelerator/gpu_details.h"
7#include "Synthesis/condensate.h"
8#include "Synthesis/phasespace_synthesis.h"
9#include "coordinateframe.h"
10#include "coordinate_series.h"
11#include "phasespace.h"
12
13namespace stormm {
14namespace trajectory {
15
16using card::GpuDetails;
17using synthesis::CondensateReader;
18using synthesis::CondensateWriter;
19using synthesis::PhaseSpaceReader;
20using synthesis::PhaseSpaceWriter;
21using synthesis::PsSynthesisReader;
22using synthesis::PsSynthesisWriter;
23
67void launchCopyCoordinateXYZBox(void* xdest, void* ydest, void* zdest, double dest_scale,
68 size_t ct_dest, const void* xorig, const void* yorig,
69 const void* zorig, double orig_scale, size_t ct_orig, int natom,
70 double* umat_dest, double* invu_dest, double* bdim_dest,
71 const double* umat_orig, const double* invu_orig,
72 const double* bdim_orig, int dest_atom_offset,
73 int orig_atom_offset, int dest_xfrm_offset, int orig_xfrm_offset,
74 int dest_bdim_offset, int orig_bdim_offset, const GpuDetails &gpu);
75
76void launchCopyCoordinateXYZBox(void* xdest, void* ydest, void* zdest, double dest_scale,
77 int dest_scale_bits, size_t ct_dest, const llint* xorig,
78 const llint* yorig, const llint* zorig, const int* xorig_ovrf,
79 const int* yorig_ovrf, const int* zorig_ovrf, double orig_scale,
80 int orig_scale_bits, int natom, double* umat_dest,
81 double* invu_dest, double* bdim_dest, const double* umat_orig,
82 const double* invu_orig, const double* bdim_orig,
83 int dest_atom_offset, int orig_atom_offset, int dest_xfrm_offset,
84 int orig_xfrm_offset, int dest_bdim_offset, int orig_bdim_offset,
85 const GpuDetails &gpu);
86
87void launchCopyCoordinateXYZBox(llint* xdest, llint* ydest, llint* zdest, int* xdest_ovrf,
88 int* ydest_ovrf, int* zdest_ovrf, double dest_scale,
89 int dest_scale_bits, const void* xorig, const void* yorig,
90 const void* zorig, double orig_scale, int orig_scale_bits,
91 size_t ct_orig, int natom, double* umat_dest, double* invu_dest,
92 double* bdim_dest, const double* umat_orig,
93 const double* invu_orig, const double* bdim_orig,
94 llint* boxvecs_dest, int* boxvec_ovrf_dest, int dest_atom_offset,
95 int orig_atom_offset, int dest_xfrm_offset, int orig_xfrm_offset,
96 int dest_bdim_offset, int orig_bdim_offset, const GpuDetails &gpu);
98
109void launchCopyCoordinateXYZ(void* xdest, void* ydest, void* zdest, double dest_scale,
110 size_t ct_dest, const void* xorig, const void* yorig,
111 const void* zorig, double orig_scale, size_t ct_orig, int natom,
112 int dest_atom_offset, int orig_atom_offset, const GpuDetails &gpu);
113
114void launchCopyCoordinateXYZ(void* xdest, void* ydest, void* zdest, double dest_scale,
115 int dest_scale_bits, size_t ct_dest, const llint* xorig,
116 const llint* yorig, const llint* zorig, const int* xorig_ovrf,
117 const int* yorig_ovrf, const int* zorig_ovrf, double orig_scale,
118 int orig_scale_bits, int natom, int dest_atom_offset,
119 int orig_atom_offset, const GpuDetails &gpu);
120
121void launchCopyCoordinateXYZ(llint* xdest, llint* ydest, llint* zdest, int* xdest_ovrf,
122 int* ydest_ovrf, int* zdest_ovrf, double dest_scale,
123 int dest_scale_bits, const void* xorig, const void* yorig,
124 const void* zorig, double orig_scale, int orig_scale_bits,
125 size_t ct_orig, int natom, int dest_atom_offset,
126 int orig_atom_offset, const GpuDetails &gpu);
128
159void launchCopyCoordinates(PhaseSpaceWriter *destination, const PhaseSpaceReader &origin,
160 const GpuDetails &gpu);
161
162void launchCopyCoordinates(PhaseSpaceWriter *destination, const PsSynthesisReader &origin,
163 size_t orig_atom_offset, int index_orig, const GpuDetails &gpu);
164
165void launchCopyCoordinates(PsSynthesisWriter *destination, size_t dest_atom_offset, int index_dest,
166 const PhaseSpaceReader &origin, const GpuDetails &gpu);
167
168void launchCopyCoordinates(PsSynthesisWriter *destination, size_t dest_atom_offset, int index_dest,
169 const PsSynthesisReader &origin, size_t orig_atom_offset,
170 int index_orig, int natom, const GpuDetails &gpu);
171
172void launchCopyCoordinates(CoordinateSeriesWriter<void> *destination, size_t ct_dest,
173 const CoordinateSeriesReader<void> &origin, size_t ct_orig,
174 const int2* system_pairs, int copy_count, const GpuDetails &gpu);
175
176void launchCopyCoordinates(CoordinateSeriesWriter<void> *destination, size_t ct_dest,
177 const PsSynthesisReader &origin, TrajectoryKind kind,
178 const int2* system_pairs, int copy_count, const GpuDetails &gpu);
179
180void launchCopyCoordinates(CoordinateSeriesWriter<void> *destination, size_t ct_dest,
181 const CondensateReader &origin, const int2* system_pairs,
182 int copy_count, const GpuDetails &gpu);
183
184void launchCopyCoordinates(PsSynthesisWriter *destination, TrajectoryKind kind,
185 const CoordinateSeriesReader<void> &origin, size_t ct_orig,
186 const int2* system_pairs, int copy_count, const GpuDetails &gpu);
187
188void launchCopyCoordinates(PsSynthesisWriter *destination, const PsSynthesisReader &origin,
189 const int2* system_pairs, int copy_count, const GpuDetails &gpu);
190
191void launchCopyCoordinates(PsSynthesisWriter *destination, TrajectoryKind kind,
192 const CondensateReader &origin, const int2* system_pairs,
193 int copy_count, const GpuDetails &gpu);
194
195void launchCopyCoordinates(CondensateWriter *destination,
196 const CoordinateSeriesReader<void> &origin, size_t ct_orig,
197 const int2* system_pairs, int copy_count, const GpuDetails &gpu);
198
199void launchCopyCoordinates(CondensateWriter *destination, const PsSynthesisReader &origin,
200 TrajectoryKind kind, const int2* system_pairs, int copy_count,
201 const GpuDetails &gpu);
202
203void launchCopyCoordinates(CondensateWriter *destination, const CondensateReader &origin,
204 const int2* system_pairs, int copy_count, const GpuDetails &gpu);
206
207} // namespace trajectory
208} // namespace stormm
209
210#endif
Pertinent aspects of one particular GPU. Condensing the data for each GPU in this manner helps to ens...
Definition gpu_details.h:27
Read-only abstract for the Condensate class. In most cases, the read-only abstract will be preferred ...
Definition condensate.h:102
Writeable abstract for the Condensate class, wherein coordinates (only) can be modified as a conseque...
Definition condensate.h:64
The reader for a PhaseSpaceSynthesis object, containing all of the data relevant for propagating dyna...
Definition phasespace_synthesis.h:199
The writer for a PhaseSpaceSynthesis object, containing all of the data relevant for propagating dyna...
Definition phasespace_synthesis.h:87
Collect C-style pointers and critical constants for a read-only CoordinateSeries object.
Definition coordinate_series.h:96
Collect C-style pointers and critical constants for a writeable CoordinateSeries object.
Definition coordinate_series.h:66
Collect constants and pointers to the components of a read-only PhaseSpace object.
Definition phasespace.h:81
Collect constants and pointers to the components of a modifiable PhaseSpace object.
Definition phasespace.h:31