milupHPC documentation
  • Gravity
  • Kernel
Functions
Gravity::Kernel Namespace Reference

CUDA kernel functions. More...

Functions

__global__ void collectSendIndices (Tree *tree, Particles *particles, integer *sendIndices, integer *particles2Send, integer *pseudoParticles2Send, integer *pseudoParticlesLevel, integer *particlesCount, integer *pseudoParticlesCount, integer n, integer length, Curve::Type curveType)
 Collect the send indices. More...
 
__global__ void testSendIndices (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, integer *sendIndices, integer *markedSendIndices, integer *levels, Curve::Type curveType, integer length)
 Test the send indices. More...
 
__global__ void collectSendIndices_test4 (Tree *tree, Particles *particles, integer *sendIndices, integer *particles2Send, integer *pseudoParticles2Send, integer *pseudoParticlesLevel, integer *particlesCount, integer *pseudoParticlesCount, integer numParticlesLocal, integer numParticles, integer treeIndex, int currentProc, Curve::Type curveType)
 
__global__ void computeForces_v1 (Tree *tree, Particles *particles, real radius, integer n, integer m, SubDomainKeyTree *subDomainKeyTree, real theta, real smoothing, bool potentialEnergy)
 
__global__ void computeForces_v1_1 (Tree *tree, Particles *particles, real radius, integer n, integer m, SubDomainKeyTree *subDomainKeyTree, real theta, real smoothing, bool potentialEnergy)
 
__global__ void computeForces_v1_2 (Tree *tree, Particles *particles, real radius, integer n, integer m, SubDomainKeyTree *subDomainKeyTree, real theta, real smoothing, bool potentialEnergy)
 
__global__ void computeForces_v2 (Tree *tree, Particles *particles, real radius, integer n, integer m, integer blockSize, integer warp, integer stackSize, SubDomainKeyTree *subDomainKeyTree, real theta, real smoothing, bool potentialEnergy)
 
__global__ void computeForces_v2_1 (Tree *tree, Particles *particles, integer n, integer m, integer blockSize, integer warp, integer stackSize, SubDomainKeyTree *subDomainKeyTree, real theta, real smoothing, bool potentialEnergy)
 
__global__ void preSymbolicForce (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *domainList, integer *sendIndices, real diam, real theta_, integer n, integer m, integer relevantIndex, integer level, Curve::Type curveType)
 
__global__ void resetSendIndices (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *domainList, integer *sendIndices, real diam, real theta_, integer n, integer m, integer relevantIndex, integer level, Curve::Type curveType)
 
__global__ void intermediateSymbolicForce (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *domainList, integer *sendIndices, real diam, real theta_, integer n, integer m, integer relevantIndex, integer level, Curve::Type curveType)
 
__global__ void symbolicForce (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *domainList, integer *sendIndices, real diam, real theta_, integer n, integer m, integer relevantIndex, integer level, Curve::Type curveType)
 
__global__ void symbolicForce_test (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *domainList, integer *sendIndices, real diam, real theta_, integer n, integer m, integer relevantIndex, integer level, Curve::Type curveType)
 
__global__ void symbolicForce_test2 (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *domainList, integer *sendIndices, real diam, real theta_, integer n, integer m, integer relevantProc, integer relevantIndicesCounter, Curve::Type curveType)
 
__global__ void symbolicForce_test3 (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *domainList, integer *sendIndices, real diam, real theta_, integer n, integer m, integer relevantProc, integer relevantIndicesCounter, Curve::Type curveType)
 
__global__ void symbolicForce_test4 (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *domainList, integer *sendIndices, real diam, real theta_, integer n, integer m, integer relevantProc, integer relevantIndicesCounter, Curve::Type curveType)
 
__global__ void compTheta (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *domainList, Curve::Type curveType)
 
__global__ void insertReceivedPseudoParticles (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, integer *levels, int level, int n, int m)
 
__global__ void insertReceivedParticles (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *domainList, DomainList *lowestDomainList, int n, int m)
 

Detailed Description

CUDA kernel functions.

Function Documentation

◆ collectSendIndices()

real Gravity::Kernel::Launch::collectSendIndices ( Tree *  tree,
Particles *  particles,
integer *  sendIndices,
integer *  particles2Send,
integer *  pseudoParticles2Send,
integer *  pseudoParticlesLevel,
integer *  particlesCount,
integer *  pseudoParticlesCount,
integer  n,
integer  length,
Curve::Type  curveType 
)

Collect the send indices.

Collect the previous marked indices to be sent by copying to contiguous memory in order to send the particles or rather particle entries using MPI.

The function copies the (pseudo-)particles to contiguous memory as preparation for the communication process via MPI. Particles and pseudo-particles are copied to distinct buffers and are distinguishable by checking the index of the node.

Parameters
treeTree class instance.
particlesParticles class instance.
sendIndicesMarked as to be sent or not.
[out]particles2SendParticles to be sent.
[out]pseudoParticles2SendPseudo-particles to be sent.
[out]pseudoParticlesLevelPseudo-particles level(s) (to be sent).
particlesCountParticles to be sent counter.
pseudoParticlesCountPseudo-particles to be sent counter.
n
length
curveTypeSpace-filling curve type.

Definition at line 8 of file gravity.cu.

+ Here is the call graph for this function:

◆ collectSendIndices_test4()

real Gravity::Kernel::Launch::collectSendIndices_test4 ( Tree *  tree,
Particles *  particles,
integer *  sendIndices,
integer *  particles2Send,
integer *  pseudoParticles2Send,
integer *  pseudoParticlesLevel,
integer *  particlesCount,
integer *  pseudoParticlesCount,
integer  numParticlesLocal,
integer  numParticles,
integer  treeIndex,
int  currentProc,
Curve::Type  curveType 
)

Definition at line 53 of file gravity.cu.

+ Here is the call graph for this function:

◆ compTheta()

real Gravity::Kernel::Launch::compTheta ( SubDomainKeyTree *  subDomainKeyTree,
Tree *  tree,
Particles *  particles,
DomainList *  domainList,
Curve::Type  curveType 
)

Definition at line 2180 of file gravity.cu.

+ Here is the call graph for this function:

◆ computeForces_v1()

real Gravity::Kernel::Launch::computeForces_v1 ( Tree *  tree,
Particles *  particles,
real  radius,
integer  n,
integer  m,
SubDomainKeyTree *  subDomainKeyTree,
real  theta,
real  smoothing,
bool  potentialEnergy 
)

Definition at line 252 of file gravity.cu.

+ Here is the call graph for this function:

◆ computeForces_v1_1()

real Gravity::Kernel::Launch::computeForces_v1_1 ( Tree *  tree,
Particles *  particles,
real  radius,
integer  n,
integer  m,
SubDomainKeyTree *  subDomainKeyTree,
real  theta,
real  smoothing,
bool  potentialEnergy 
)

Definition at line 398 of file gravity.cu.

+ Here is the call graph for this function:

◆ computeForces_v1_2()

real Gravity::Kernel::Launch::computeForces_v1_2 ( Tree *  tree,
Particles *  particles,
real  radius,
integer  n,
integer  m,
SubDomainKeyTree *  subDomainKeyTree,
real  theta,
real  smoothing,
bool  potentialEnergy 
)

Definition at line 550 of file gravity.cu.

+ Here is the call graph for this function:

◆ computeForces_v2()

real Gravity::Kernel::Launch::computeForces_v2 ( Tree *  tree,
Particles *  particles,
real  radius,
integer  n,
integer  m,
integer  blockSize,
integer  warp,
integer  stackSize,
SubDomainKeyTree *  subDomainKeyTree,
real  theta,
real  smoothing,
bool  potentialEnergy 
)

Definition at line 726 of file gravity.cu.

+ Here is the call graph for this function:

◆ computeForces_v2_1()

real Gravity::Kernel::Launch::computeForces_v2_1 ( Tree *  tree,
Particles *  particles,
integer  n,
integer  m,
integer  blockSize,
integer  warp,
integer  stackSize,
SubDomainKeyTree *  subDomainKeyTree,
real  theta,
real  smoothing,
bool  potentialEnergy 
)

Definition at line 905 of file gravity.cu.

+ Here is the call graph for this function:

◆ insertReceivedParticles()

real Gravity::Kernel::Launch::insertReceivedParticles ( SubDomainKeyTree *  subDomainKeyTree,
Tree *  tree,
Particles *  particles,
DomainList *  domainList,
DomainList *  lowestDomainList,
int  n,
int  m 
)

Definition at line 2467 of file gravity.cu.

◆ insertReceivedPseudoParticles()

real Gravity::Kernel::Launch::insertReceivedPseudoParticles ( SubDomainKeyTree *  subDomainKeyTree,
Tree *  tree,
Particles *  particles,
integer *  levels,
int  level,
int  n,
int  m 
)

Definition at line 2243 of file gravity.cu.

◆ intermediateSymbolicForce()

real Gravity::Kernel::Launch::intermediateSymbolicForce ( SubDomainKeyTree *  subDomainKeyTree,
Tree *  tree,
Particles *  particles,
DomainList *  domainList,
integer *  sendIndices,
real  diam,
real  theta_,
integer  n,
integer  m,
integer  relevantIndex,
integer  level,
Curve::Type  curveType 
)

Definition at line 1374 of file gravity.cu.

◆ preSymbolicForce()

__global__ void Gravity::Kernel::preSymbolicForce ( SubDomainKeyTree *  subDomainKeyTree,
Tree *  tree,
Particles *  particles,
DomainList *  domainList,
integer *  sendIndices,
real  diam,
real  theta_,
integer  n,
integer  m,
integer  relevantIndex,
integer  level,
Curve::Type  curveType 
)

Definition at line 1326 of file gravity.cu.

◆ resetSendIndices()

__global__ void Gravity::Kernel::resetSendIndices ( SubDomainKeyTree *  subDomainKeyTree,
Tree *  tree,
Particles *  particles,
DomainList *  domainList,
integer *  sendIndices,
real  diam,
real  theta_,
integer  n,
integer  m,
integer  relevantIndex,
integer  level,
Curve::Type  curveType 
)

Definition at line 1354 of file gravity.cu.

◆ symbolicForce()

real Gravity::Kernel::Launch::symbolicForce ( SubDomainKeyTree *  subDomainKeyTree,
Tree *  tree,
Particles *  particles,
DomainList *  domainList,
integer *  sendIndices,
real  diam,
real  theta_,
integer  n,
integer  m,
integer  relevantIndex,
integer  level,
Curve::Type  curveType 
)

Definition at line 1395 of file gravity.cu.

+ Here is the call graph for this function:

◆ symbolicForce_test()

real Gravity::Kernel::Launch::symbolicForce_test ( SubDomainKeyTree *  subDomainKeyTree,
Tree *  tree,
Particles *  particles,
DomainList *  domainList,
integer *  sendIndices,
real  diam,
real  theta_,
integer  n,
integer  m,
integer  relevantIndex,
integer  level,
Curve::Type  curveType 
)

Definition at line 1666 of file gravity.cu.

+ Here is the call graph for this function:

◆ symbolicForce_test2()

real Gravity::Kernel::Launch::symbolicForce_test2 ( SubDomainKeyTree *  subDomainKeyTree,
Tree *  tree,
Particles *  particles,
DomainList *  domainList,
integer *  sendIndices,
real  diam,
real  theta_,
integer  n,
integer  m,
integer  relevantProc,
integer  relevantIndicesCounter,
Curve::Type  curveType 
)

Definition at line 1801 of file gravity.cu.

+ Here is the call graph for this function:

◆ symbolicForce_test3()

real Gravity::Kernel::Launch::symbolicForce_test3 ( SubDomainKeyTree *  subDomainKeyTree,
Tree *  tree,
Particles *  particles,
DomainList *  domainList,
integer *  sendIndices,
real  diam,
real  theta_,
integer  n,
integer  m,
integer  relevantProc,
integer  relevantIndicesCounter,
Curve::Type  curveType 
)

Definition at line 1916 of file gravity.cu.

+ Here is the call graph for this function:

◆ symbolicForce_test4()

real Gravity::Kernel::Launch::symbolicForce_test4 ( SubDomainKeyTree *  subDomainKeyTree,
Tree *  tree,
Particles *  particles,
DomainList *  domainList,
integer *  sendIndices,
real  diam,
real  theta_,
integer  n,
integer  m,
integer  relevantProc,
integer  relevantIndicesCounter,
Curve::Type  curveType 
)

Definition at line 2041 of file gravity.cu.

+ Here is the call graph for this function:

◆ testSendIndices()

real Gravity::Kernel::Launch::testSendIndices ( SubDomainKeyTree *  subDomainKeyTree,
Tree *  tree,
Particles *  particles,
integer *  sendIndices,
integer *  markedSendIndices,
integer *  levels,
Curve::Type  curveType,
integer  length 
)

Test the send indices.

Parameters
subDomainKeyTreeSubDomainKeyTree class instance.
treeTree class instance.
particlesParticles class instance.
sendIndices
markedSendIndices
levels
curveType
length

Definition at line 103 of file gravity.cu.


milupHPC - Gravity::Kernel Namespace Reference
Generated on Wed Aug 31 2022 12:16:53 by Doxygen 1.9.3