Skip to content

ccfd/NESO-Particles

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

665 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NESO Particles

This is the particle component of NESO and is designed as a header only library.

Documentation

Documentation should be available here.

Dependencies

  • CMake
  • SYCL 2020 (tested with hipsycl 0.9.4 or Intel DPCPP 2024.1.0).
  • MPI 3.0 (tested with MPICH 4.0 or IntelMPI 2021.12.1)
  • HDF5 (parallel): (optional) If particle trajectories are required - will execute without.

Installing

NESO-Particles should be placed on the CMAKE_PREFIX_PATH such that cmake find_package works, e.g.

git clone https://github.com/ExCALIBUR-NEPTUNE/NESO-Particles.git
export CMAKE_PREFIX_PATH=<absolute path to NESO-Particles>:$CMAKE_PREFIX_PATH

Testing

Configuring cmake depends on which SYCL implementation/target you wish to use:

# Intel DPCPP
cmake -DCMAKE_CXX_COMPILER=dpcpp -DNESO_PARTICLES_DEVICE_TYPE=CPU .
# Hipsycl cpu via omp and host compiler
cmake -DNESO_PARTICLES_DEVICE_TYPE=CPU -DHIPSYCL_TARGETS=omp . 
# Hipsycl cuda using nvcxx
cmake -DNESO_PARTICLES_DEVICE_TYPE=GPU -DHIPSYCL_TARGETS=cuda-nvcxx .

Finally executing can be done as follows

# Intel DPCPP
SYCL_DEVICE_FILTER=host mpirun -n <nproc> bin/testNESOParticles

# hipsycl omp
OMP_NUM_THREADS=<nthreads> mpirun -n <nproc> bin/testNESOParticles

Contributing

  • Please branch from and create PRs into the dev branch.
  • Please run cmake-format on any CMake changes.
  • Please run clang-format (version 14.0.0) on any C++ changes.

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.8%
  • CMake 1.6%
  • Other 0.6%