2#ifndef HPC_COORDINATE_COPY_H
3#define HPC_COORDINATE_COPY_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"
16using card::GpuDetails;
17using synthesis::CondensateReader;
18using synthesis::CondensateWriter;
19using synthesis::PhaseSpaceReader;
20using synthesis::PhaseSpaceWriter;
21using synthesis::PsSynthesisReader;
22using synthesis::PsSynthesisWriter;
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);
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,
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);
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);
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,
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,
163 size_t orig_atom_offset,
int index_orig,
const GpuDetails &gpu);
165void launchCopyCoordinates(
PsSynthesisWriter *destination,
size_t dest_atom_offset,
int index_dest,
168void launchCopyCoordinates(
PsSynthesisWriter *destination,
size_t dest_atom_offset,
int index_dest,
170 int index_orig,
int natom,
const GpuDetails &gpu);
174 const int2* system_pairs,
int copy_count,
const GpuDetails &gpu);
178 const int2* system_pairs,
int copy_count,
const GpuDetails &gpu);
186 const int2* system_pairs,
int copy_count,
const GpuDetails &gpu);
189 const int2* system_pairs,
int copy_count,
const GpuDetails &gpu);
197 const int2* system_pairs,
int copy_count,
const GpuDetails &gpu);
200 TrajectoryKind kind,
const int2* system_pairs,
int copy_count,
204 const int2* system_pairs,
int copy_count,
const GpuDetails &gpu);
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