milupHPC documentation
  • src
  • subdomain_key_tree
Namespaces | Functions
subdomain.cu File Reference
#include "../../include/subdomain_key_tree/subdomain.cuh"
#include "../../include/cuda_utils/cuda_launcher.cuh"
#include <cub/cub.cuh>
+ Include dependency graph for subdomain.cu:

Go to the source code of this file.

Namespaces

namespace  SubDomainKeyTreeNS
 SubDomainKeyTree related functions and kernels.
 
namespace  SubDomainKeyTreeNS::Kernel
 Kernels.
 
namespace  DomainListNS
 
namespace  DomainListNS::Kernel
 
namespace  ParticlesNS
 Particle class related functions and kernels.
 
namespace  ParticlesNS::Kernel
 
namespace  CudaUtils
 
namespace  CudaUtils::Kernel
 
namespace  CudaUtils::Kernel::Launch
 
namespace  Physics
 Physics related functions and kernels.
 
namespace  Physics::Kernel
 
namespace  Physics::Kernel::Launch
 

Functions

__global__ void SubDomainKeyTreeNS::Kernel::set (SubDomainKeyTree *subDomainKeyTree, integer rank, integer numProcesses, keyType *range, integer *procParticleCounter)
 Kernel call to setter. More...
 
__global__ void SubDomainKeyTreeNS::Kernel::test (SubDomainKeyTree *subDomainKeyTree)
 Test kernel call (for debugging/testing purposes). More...
 
__global__ void SubDomainKeyTreeNS::Kernel::buildDomainTree (Tree *tree, Particles *particles, DomainList *domainList, integer n, integer m)
 Kernel to build the domain tree. More...
 
__global__ void SubDomainKeyTreeNS::Kernel::buildDomainTree (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *domainList, integer n, integer m, integer level)
 
__global__ void SubDomainKeyTreeNS::Kernel::getParticleKeys (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, keyType *keys, integer maxLevel, integer n, Curve::Type curveType=Curve::lebesgue)
 Kernel to get all particle keys (and additional information for debugging purposes). More...
 
__global__ void SubDomainKeyTreeNS::Kernel::particlesPerProcess (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, integer n, integer m, Curve::Type curveType=Curve::lebesgue)
 Kernel to check particle's belonging and count in dependence of belonging/process. More...
 
__global__ void SubDomainKeyTreeNS::Kernel::markParticlesProcess (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, integer n, integer m, integer *sortArray, Curve::Type curveType=Curve::lebesgue)
 Kernel to mark particle's belonging. More...
 
__global__ void SubDomainKeyTreeNS::Kernel::zeroDomainListNodes (Particles *particles, DomainList *domainList, DomainList *lowestDomainList)
 Zero domain list nodes. More...
 
template<typename T >
__global__ void SubDomainKeyTreeNS::Kernel::prepareLowestDomainExchange (Particles *particles, DomainList *lowestDomainList, T *buffer, Entry::Name entry)
 Prepare lowest domain exchange via MPI by copying to contiguous memory. More...
 
template<typename T >
__global__ void SubDomainKeyTreeNS::Kernel::updateLowestDomainListNodes (Particles *particles, DomainList *lowestDomainList, T *buffer, Entry::Name entry)
 Update lowest domain list nodes. More...
 
__global__ void SubDomainKeyTreeNS::Kernel::compLowestDomainListNodes (Tree *tree, Particles *particles, DomainList *lowestDomainList)
 Compute/Find lowest domain list nodes. More...
 
__global__ void SubDomainKeyTreeNS::Kernel::compLocalPseudoParticles (Tree *tree, Particles *particles, DomainList *domainList, int n)
 Compute local (tree) pseudo particles. More...
 
__global__ void SubDomainKeyTreeNS::Kernel::compDomainListPseudoParticlesPerLevel (Tree *tree, Particles *particles, DomainList *domainList, DomainList *lowestDomainList, int n, int level)
 Compute domain list pseudo particles (per level). More...
 
__global__ void SubDomainKeyTreeNS::Kernel::compDomainListPseudoParticles (Tree *tree, Particles *particles, DomainList *domainList, DomainList *lowestDomainList, int n)
 
__global__ void SubDomainKeyTreeNS::Kernel::repairTree (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *domainList, DomainList *lowestDomainList, int n, int m, Curve::Type curveType)
 Repair tree by removing received and inserted (pseudo-)particles. More...
 
__global__ void SubDomainKeyTreeNS::Kernel::createKeyHistRanges (Helper *helper, integer bins)
 
__global__ void SubDomainKeyTreeNS::Kernel::keyHistCounter (Tree *tree, Particles *particles, SubDomainKeyTree *subDomainKeyTree, Helper *helper, int bins, int n, Curve::Type curveType=Curve::lebesgue)
 
__global__ void SubDomainKeyTreeNS::Kernel::calculateNewRange (SubDomainKeyTree *subDomainKeyTree, Helper *helper, int bins, int n, Curve::Type curveType=Curve::lebesgue)
 
__global__ void DomainListNS::Kernel::set (DomainList *domainList, integer *domainListIndices, integer *domainListLevels, integer *domainListIndex, integer *domainListCounter, keyType *domainListKeys, keyType *sortedDomainListKeys, integer *relevantDomainListIndices, integer *relevantDomainListLevels, integer *relevantDomainListProcess)
 Kernel call to setter. More...
 
__global__ void DomainListNS::Kernel::setBorders (DomainList *domainList, real *borders, integer *relevantDomainListOriginalIndex)
 
__global__ void DomainListNS::Kernel::info (Particles *particles, DomainList *domainList)
 Info kernel (for debugging purposes). More...
 
__global__ void DomainListNS::Kernel::info (Particles *particles, DomainList *domainList, DomainList *lowestDomainList)
 Info kernel (for debugging purposes). More...
 
__global__ void DomainListNS::Kernel::createDomainList (SubDomainKeyTree *subDomainKeyTree, DomainList *domainList, integer maxLevel, Curve::Type curveType=Curve::lebesgue)
 Kernel to create the domain list. More...
 
__global__ void DomainListNS::Kernel::lowestDomainList (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, DomainList *domainList, DomainList *lowestDomainList, integer n, integer m)
 Kernel to create the lowest domain list. More...
 
__device__ bool ParticlesNS::applySphericalCriterion (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, real d, int index)
 Check whether particle(s) are within sphere from simulation center. More...
 
__device__ bool ParticlesNS::applyCubicCriterion (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, real d, int index)
 Check whether particle(s) are within cube from simulation center. More...
 
__global__ void ParticlesNS::Kernel::mark2remove (SubDomainKeyTree *subDomainKeyTree, Tree *tree, Particles *particles, int *particles2remove, int *counter, int criterion, real d, int numParticles)
 
template<typename T , typename U >
__global__ void CudaUtils::Kernel::markDuplicatesTemp (Tree *tree, DomainList *domainList, T *array, U *entry1, U *entry2, U *entry3, integer *duplicateCounter, integer *child, int length)
 
template<typename T , unsigned int blockSize>
__global__ void CudaUtils::Kernel::reduceBlockwise (T *array, T *outputData, int n)
 
template<typename T , unsigned int blockSize>
__global__ void CudaUtils::Kernel::blockReduction (const T *indata, T *outdata)
 
template<typename T , typename U >
real CudaUtils::Kernel::Launch::markDuplicatesTemp (Tree *tree, DomainList *domainList, T *array, U *entry1, U *entry2, U *entry3, integer *duplicateCounter, integer *child, int length)
 
template real CudaUtils::Kernel::Launch::markDuplicatesTemp< integer, real > (Tree *tree, DomainList *domainList, integer *array, real *entry1, real *entry2, real *entry3, integer *duplicateCounter, integer *child, int length)
 
template<typename T , unsigned int blockSize>
real CudaUtils::Kernel::Launch::reduceBlockwise (T *array, T *outputData, int n)
 
template real CudaUtils::Kernel::Launch::reduceBlockwise< real, 256 > (real *array, real *outputData, int n)
 
template<typename T , unsigned int blockSize>
real CudaUtils::Kernel::Launch::blockReduction (const T *indata, T *outdata)
 
template real CudaUtils::Kernel::Launch::blockReduction< real, 256 > (const real *indata, real *outdata)
 
template<unsigned int blockSize>
__global__ void Physics::Kernel::calculateAngularMomentumBlockwise (Particles *particles, real *outputData, int n)
 Calculate angular momentum for all particles (per block). More...
 
template<unsigned int blockSize>
__global__ void Physics::Kernel::sumAngularMomentum (const real *indata, real *outdata)
 Calculate angular momentum: sum over blocks. More...
 
__global__ void Physics::Kernel::kineticEnergy (Particles *particles, int n)
 Calculate kinetic energy. More...
 
template<unsigned int blockSize>
real Physics::Kernel::Launch::calculateAngularMomentumBlockwise (Particles *particles, real *outputData, int n)
 Wrapper for: Physics::Kernel::calculateAngularMomentumBlockwise(). More...
 
template real Physics::Kernel::Launch::calculateAngularMomentumBlockwise< 256 > (Particles *particles, real *outputData, int n)
 
template<unsigned int blockSize>
real Physics::Kernel::Launch::sumAngularMomentum (const real *indata, real *outdata)
 Wrapper for: Physics::Kernel::sumAngularMomentum(). More...
 
template real Physics::Kernel::Launch::sumAngularMomentum< 256 > (const real *indata, real *outdata)
 
real Physics::Kernel::Launch::kineticEnergy (Particles *particles, int n)
 Wrapper for: Physics::Kernel::kineticEnergy(). More...
 

milupHPC - src/subdomain_key_tree/subdomain.cu File Reference
Generated on Wed Aug 31 2022 12:16:53 by Doxygen 1.9.3