Newer
Older
# Overview
This repository contains the source code of particle interactions on GPU,
when a cutoff method is used, and when there are few particles per cell.
It contains a CUDA and a HIP implementations (which are really the same).
All the implementations are discussed in a paper (https://inria.hal.science/hal-04621128).
# Compilation
Both implementations have a CMake. For the CUDA implementation,
NVCC should be available. For the HIP implementation,
we currently used to set the compiler by hand to make it works
`CXX=hipcc cmake ..` (in the build dir).
# Citing the work
Please cite the paper if you use this code, update it,
or benchmark it:
Efficient GPU Implementation of Particle Interactions with Cutoff Radius and Few Particles per Cell. David Algis, Bérenger Bramas, Emmanuelle Darles, Lilian Aveneau. International Symposium on Parallel Computing and Distributed Systems (PCDS2024), IEEE, Sep 2024, Singapore, Singapore.
# Relation to the paper
Here is the matching between the names in the code and the ones in the paper:
- ComputeParticleInterationsParPartLoop: Par-Part-Loop
- ComputeParticleInterationsParPartNoLoop: Par-Part-NoLoop
- ComputeParticleInterationsParCell: Par-Cell
- ComputeParticleInterationsParCellSm: Par-Cell-SM
- ComputeParticleInterationsV1: All-in-SM (Full load)
- ComputeParticleInterationsV2: X-pencil (Pencil load)
- ComputeParticleInterationsV3: X-pencil-reg (Pencil/register load)