changa 3.5
Loading...
Searching...
No Matches
CudaFunctions.h
1#ifndef _CUDAFUNCTIONS_H_
2#define _CUDAFUNCTIONS_H_
3
4#ifdef CUDA
5#include "hapi.h"
6#include "HostCUDA.h"
7void TreePieceDataTransferBasic(CudaRequest *data, CudaDevPtr *ptr);
8void TreePieceDataTransferBasicCleanup(CudaDevPtr *ptr);
9
10#ifdef GPU_LOCAL_TREE_WALK
11__global__ void gpuLocalTreeWalk(
12 CudaMultipoleMoments* moments,
13 CompactPartData *particleCores,
14 VariablePartData *particleVars,
15 int firstParticle,
16 int lastParticle,
17 int rootIdx,
18 cudatype theta,
19 cudatype thetaMono,
20 int nReplicas,
21 cudatype fperiod,
22 cudatype fperiodY,
23 cudatype fperiodZ);
24#endif //GPU_LOCAL_TREE_WALK
25
26__global__ void nodeGravityComputation(
27 CompactPartData *particleCores,
28 VariablePartData *particleVars,
29 CudaMultipoleMoments *moments,
30 ILCell *ils,
31 int *ilmarks,
32 int *bucketStarts,
33 int *bucketSizes,
34 cudatype fperiod
35 );
36
37__global__ void ZeroVars(VariablePartData *particleVars, int nVars);
38
39#ifdef CUDA_2D_TB_KERNEL
40__global__ void particleGravityComputation(
41 CompactPartData *targetCores,
42 VariablePartData *targetVars,
43 CompactPartData *sourceCores,
44 ILCell *ils,
45 int *ilmarks,
46 int *bucketStarts,
47 int *bucketSizes,
48 cudatype fperiod);
49#else
50__global__ void particleGravityComputation(
51 CompactPartData *targetCores,
52 VariablePartData *targetVars,
53 CompactPartData *sourceCores,
54 ILPart *ils,
55 int *ilmarks,
56 int *bucketStarts,
57 int *bucketSizes,
58 cudatype fperiod);
59#endif
60
61#endif
62
63#endif
float cudatype
floating point type on the GPU
Definition cuda_typedef.h:12
Particle data needed on the GPU to calculate gravity.
Definition cuda_typedef.h:240
Version of MultipoleMoments using cudatype.
Definition cuda_typedef.h:104
Cell on the interaction list for the GPU.
Definition cuda_typedef.h:225
Bucket of particles on the interaction list for the GPU.
Definition cuda_typedef.h:208
Particle data that gets calculated by the GPU.
Definition cuda_typedef.h:268