Skip to content

Maison-de-la-Simulation/miniPIC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

title

Presentation

miniPIC is a playground for computer science and HPC experiments applied to the Particle-In-Cell method.

Warning

miniPIC is not a code intended to be used for numerical simulation of physical cases.

CPU backends

Internal Backend CPU Intel CPU AMD ARM based CPU
OpenMP loop LLVM, GCC, OneAPI LLVM, GCC, OneAPI LLVM 14, GCC 10
SYCL LLVM, GCC, OneAPI OneAPI Not tested
Kokkos OpenMP LLVM, GCC, OneAPI Not tested LLVM, GCC
Eventify Not tested
OpenMP task Not tested

GPU backends

Internal Backend GPU NVIDIA GPU AMD GPU Intel
Kokkos CUDA, HIP, SYCL CUDA 11 (tested on V100, A100) HIP (tested on MI250) Tested on Intel MAX 1550
SYCL tested on V100, A100 Tested on MI250 Tested on Intel MAX 1550
THRUST tested on V100, A100 (nvcc 11) Tested on MI250 Not tested
OpenACC tested on V100, A100 (nvhpc 23.7) Not tested Not tested
OpenMP target Tested (nvhpc 23.7) Not tested Not tested

Repository structure

  • doc: documentation pages
  • src: C++ source
    • setups: headers used to initialize the physical parameters
    • common: source files common to all backends
    • backend specific folder (kokkos, thrust, etc): backend specific operators
  • lib: Python libraries for miniPIC python tools
  • script: Python scripts to read and plot diags
  • tests: simulation tests used to validate the code
  • validation: Python validation scripts
  • unit_tests: unit tests

How to use miniPIC

How to contribute

About

Playground for computer science and HPC experiments applied to the Particle-In-Cell method.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •