milupHPC documentation
  • src
helper_handler.cpp
Go to the documentation of this file.
1#include "../include/helper_handler.h"
2
3HelperHandler::HelperHandler(int numProcesses, int numParticlesLocal, int numParticles, int sumParticles, int numNodes) :
4 numProcesses(numProcesses), numParticlesLocal(numParticlesLocal), numParticles(numParticles),
5 sumParticles(sumParticles), numNodes(numNodes) {
6
7 cuda::malloc(d_integerVal, 1);
8 cuda::malloc(d_integerVal1, 1);
9 cuda::malloc(d_integerVal2, 1);
10
11 cuda::malloc(d_realVal, 1);
12 cuda::malloc(d_realVal1, 1);
13 cuda::malloc(d_realVal2, 1);
14
15 cuda::malloc(d_keyTypeVal, 1);
16
17 cuda::malloc(d_integerBuffer, numNodes);
18 cuda::malloc(d_integerBuffer1, numNodes);
19 cuda::malloc(d_integerBuffer2, numNodes);
20 cuda::malloc(d_integerBuffer3, numNodes);
21 cuda::malloc(d_integerBuffer4, numNodes);
22
23 cuda::malloc(d_sendCount, numProcesses); // + 1
24 cuda::malloc(d_sendCount1, numProcesses); // + 1
25
26 cuda::malloc(d_idIntegerBuffer, numParticles);
27 cuda::malloc(d_idIntegerBuffer1, numParticles);
28
29 cuda::malloc(d_realBuffer, numNodes);
30 cuda::malloc(d_realBuffer1, numNodes);
31
32 cuda::malloc(d_keyTypeBuffer, numParticles);
33 cuda::malloc(d_keyTypeBuffer1, sumParticles);
34 cuda::malloc(d_keyTypeBuffer2, sumParticles);
35
36 cuda::malloc(d_helper, 1);
37
38 //HelperNS::Kernel::Launch::set(d_helper, d_integerVal, d_realVal, d_keyTypeVal, d_integerBuffer,
39 //d_realBuffer, d_keyTypeBuffer);
40
41 HelperNS::Kernel::Launch::set(d_helper, d_integerVal, d_integerVal1, d_integerVal2,
42 d_realVal, d_realVal1, d_realVal2, d_keyTypeVal,
43 d_integerBuffer, d_integerBuffer1, d_integerBuffer2,
44 d_integerBuffer3, d_integerBuffer4,
45 d_sendCount, d_sendCount1, d_idIntegerBuffer,
46 d_idIntegerBuffer1, d_realBuffer, d_realBuffer1,
47 d_keyTypeBuffer, d_keyTypeBuffer1, d_keyTypeBuffer2);
48
49}
50
51HelperHandler::~HelperHandler() {
52
53 cuda::free(d_integerVal);
54 cuda::free(d_integerVal1);
55 cuda::free(d_integerVal2);
56
57 cuda::free(d_realVal);
58 cuda::free(d_realVal1);
59 cuda::free(d_realVal2);
60
61 cuda::free(d_keyTypeVal);
62
63 cuda::free(d_integerBuffer);
64 cuda::free(d_integerBuffer1);
65 cuda::free(d_integerBuffer2);
66 cuda::free(d_integerBuffer3);
67 cuda::free(d_integerBuffer4);
68
69 cuda::free(d_sendCount);
70 cuda::free(d_sendCount1);
71
72 cuda::free(d_idIntegerBuffer);
73 cuda::free(d_idIntegerBuffer1);
74
75 cuda::free(d_realBuffer);
76 cuda::free(d_realBuffer1);
77
78 cuda::free(d_keyTypeBuffer);
79 cuda::free(d_keyTypeBuffer1);
80 cuda::free(d_keyTypeBuffer2);
81
82 cuda::free(d_helper);
83
84}
85
86void HelperHandler::reset() {
87
88 cuda::set(d_integerVal, 0, 1);
89 cuda::set(d_integerVal1, 0, 1);
90 cuda::set(d_integerVal2, 0, 1);
91
92 cuda::set(d_realVal, (real)0, 1);
93 cuda::set(d_realVal1, (real)0, 1);
94 cuda::set(d_realVal2, (real)0, 1);
95
96 cuda::set(d_keyTypeVal, (keyType)0, 1);
97
98 cuda::set(d_integerBuffer, 0, numNodes);
99 cuda::set(d_integerBuffer1, 0, numParticles);
100 cuda::set(d_integerBuffer2, 0, numParticles);
101 cuda::set(d_integerBuffer3, 0, numParticles);
102 cuda::set(d_integerBuffer4, 0, numParticles);
103
104 cuda::set(d_sendCount, 0, numProcesses);
105 cuda::set(d_sendCount1, 0, numProcesses);
106
107 cuda::set(d_idIntegerBuffer, (idInteger)0, numParticles);
108 cuda::set(d_idIntegerBuffer1, (idInteger)0, numParticles);
109
110 cuda::set(d_realBuffer, (real)0, numNodes);
111 cuda::set(d_realBuffer1, (real)0, numNodes);
112
113 cuda::set(d_keyTypeBuffer, (keyType)0, numParticlesLocal);
114 cuda::set(d_keyTypeBuffer1, (keyType)0, sumParticles);
115 cuda::set(d_keyTypeBuffer2, (keyType)0, sumParticles);
116
117 //cuda::set(d_integerBuffer, 0, length);
118 //cuda::set(d_realBuffer, (real)0, length);
119 //cuda::set(d_keyTypeBuffer, (keyType)0, length);
120}
HelperHandler::d_sendCount
integer * d_sendCount
Definition: helper_handler.h:36
HelperHandler::d_realVal
real * d_realVal
Definition: helper_handler.h:24
HelperHandler::d_realVal2
real * d_realVal2
Definition: helper_handler.h:26
HelperHandler::reset
void reset()
Definition: helper_handler.cpp:86
HelperHandler::numProcesses
int numProcesses
Definition: helper_handler.h:14
HelperHandler::d_keyTypeVal
keyType * d_keyTypeVal
Definition: helper_handler.h:28
HelperHandler::numParticles
int numParticles
Definition: helper_handler.h:16
HelperHandler::d_helper
Helper * d_helper
Definition: helper_handler.h:49
HelperHandler::d_integerVal2
integer * d_integerVal2
Definition: helper_handler.h:22
HelperHandler::HelperHandler
HelperHandler(int numProcesses, int numParticlesLocal, int numParticles, int sumParticles, int numNodes)
Definition: helper_handler.cpp:3
HelperHandler::sumParticles
int sumParticles
Definition: helper_handler.h:17
HelperHandler::d_integerBuffer3
integer * d_integerBuffer3
Definition: helper_handler.h:33
HelperHandler::d_idIntegerBuffer
idInteger * d_idIntegerBuffer
Definition: helper_handler.h:39
HelperHandler::d_integerVal1
integer * d_integerVal1
Definition: helper_handler.h:21
HelperHandler::d_integerVal
integer * d_integerVal
Definition: helper_handler.h:20
HelperHandler::d_keyTypeBuffer
keyType * d_keyTypeBuffer
Definition: helper_handler.h:45
HelperHandler::numParticlesLocal
int numParticlesLocal
Definition: helper_handler.h:15
HelperHandler::d_idIntegerBuffer1
idInteger * d_idIntegerBuffer1
Definition: helper_handler.h:40
HelperHandler::d_integerBuffer1
integer * d_integerBuffer1
Definition: helper_handler.h:31
HelperHandler::d_keyTypeBuffer2
keyType * d_keyTypeBuffer2
Definition: helper_handler.h:47
HelperHandler::d_realBuffer1
real * d_realBuffer1
Definition: helper_handler.h:43
HelperHandler::numNodes
int numNodes
Definition: helper_handler.h:18
HelperHandler::d_sendCount1
integer * d_sendCount1
Definition: helper_handler.h:37
HelperHandler::d_integerBuffer
integer * d_integerBuffer
Definition: helper_handler.h:30
HelperHandler::d_integerBuffer4
integer * d_integerBuffer4
Definition: helper_handler.h:34
HelperHandler::d_integerBuffer2
integer * d_integerBuffer2
Definition: helper_handler.h:32
HelperHandler::~HelperHandler
~HelperHandler()
Definition: helper_handler.cpp:51
HelperHandler::d_realBuffer
real * d_realBuffer
Definition: helper_handler.h:42
HelperHandler::d_realVal1
real * d_realVal1
Definition: helper_handler.h:25
HelperHandler::d_keyTypeBuffer1
keyType * d_keyTypeBuffer1
Definition: helper_handler.h:46
HelperNS::Kernel::Launch::set
void set(Helper *helper, integer *integerVal, integer *integerVal1, integer *integerVal2, real *realVal, real *realVal1, real *realVal2, keyType *keyTypeVal, integer *integerBuffer, integer *integerBuffer1, integer *integerBuffer2, integer *integerBuffer3, integer *integerBuffer4, integer *sendCount, integer *sendCount1, idInteger *idIntegerBuffer, idInteger *idIntegerBuffer1, real *realBuffer, real *realBuffer1, keyType *keyTypeBuffer, keyType *keyTypeBuffer1, keyType *keyTypeBuffer2)
Definition: helper.cu:112
ProfilerIds::numParticlesLocal
const char *const numParticlesLocal
Definition: h5profiler.h:30
ProfilerIds::numParticles
const char *const numParticles
Definition: h5profiler.h:29
TreeNS::Kernel::sumParticles
__global__ void sumParticles(Tree *tree)
Kernel call to sum particles within tree.
Definition: tree.cu:440
cuda::set
void set(T *d_var, T val, std::size_t count=1)
Set device memory to a specific value.
Definition: cuda_runtime.h:56
cuda::free
void free(T *d_var)
Free device memory.
Definition: cuda_runtime.h:81
cuda::malloc
void malloc(T *&d_var, std::size_t count)
Allocate device memory.
Definition: cuda_runtime.h:70
real
double real
Definition: parameter.h:15
keyType
unsigned long keyType
Definition: parameter.h:18
idInteger
int idInteger
Definition: parameter.h:19

milupHPC - src/helper_handler.cpp Source File
Generated on Wed Aug 31 2022 12:16:52 by Doxygen 1.9.3