Mentions légales du service

Skip to content
Snippets Groups Projects
README.md 1.4 KiB
Newer Older
BRAMAS Berenger's avatar
BRAMAS Berenger committed
# 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).
BRAMAS Berenger's avatar
BRAMAS Berenger committed
All the implementations are discussed in a paper (https://inria.hal.science/hal-04621128).
BRAMAS Berenger's avatar
BRAMAS Berenger committed

# 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,
BRAMAS Berenger's avatar
BRAMAS Berenger committed
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.
BRAMAS Berenger's avatar
BRAMAS Berenger committed

# 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)