STORMM Source Documentation
Loading...
Searching...
No Matches
hpc_coordinate_swap.h
1// -*-c++-*-
2#ifndef STORMM_HPC_COORDINATE_SWAP_H
3#define STORMM_HPC_COORDINATE_SWAP_H
4
5#include "copyright.h"
6#include "Accelerator/gpu_details.h"
7#include "DataTypes/stormm_vector_types.h"
8#include "Synthesis/condensate.h"
9#include "Synthesis/phasespace_synthesis.h"
10#include "coordinate_series.h"
11
12namespace stormm {
13namespace trajectory {
14
15using card::GpuDetails;
16using synthesis::CondensateWriter;
17using synthesis::PsSynthesisWriter;
18
34void launchSwapCoordinates(CoordinateSeriesWriter<void> *v_first, size_t frm_first,
35 CoordinateSeriesWriter<void> *v_second, size_t frm_second, size_t ct,
36 const GpuDetails &gpu);
37
38void launchSwapCoordinates(CoordinateSeriesWriter<void> *v_first,
39 CoordinateSeriesWriter<void> *v_second, const int2* frm_pairs,
40 int pair_count, size_t ct, const GpuDetails &gpu);
41
42void launchSwapCoordinates(PsSynthesisWriter *first, size_t frm_first, PsSynthesisWriter *second,
43 size_t frm_second, const GpuDetails &gpu);
44
45void launchSwapCoordinates(PsSynthesisWriter *first, PsSynthesisWriter *second,
46 const int2* frm_pairs, int pair_count, const GpuDetails &gpu);
47
48void launchSwapCoordinates(CondensateWriter *first, size_t frm_first, CondensateWriter *second,
49 size_t frm_second, const GpuDetails &gpu);
50
51void launchSwapCoordinates(CondensateWriter *first, CondensateWriter *second,
52 const int2* frm_pairs, int pair_count, const GpuDetails &gpu);
54
55} // namespace trajectory
56} // namespace stormm
57
58#endif
Pertinent aspects of one particular GPU. Condensing the data for each GPU in this manner helps to ens...
Definition gpu_details.h:27
Writeable abstract for the Condensate class, wherein coordinates (only) can be modified as a conseque...
Definition condensate.h:64
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 writeable CoordinateSeries object.
Definition coordinate_series.h:66