Skip to content
/ AdePT Public
forked from apt-sim/AdePT

Accelerated demonstrator of electromagnetic Particle Transport

License

Notifications You must be signed in to change notification settings

peremato/AdePT

This branch is 191 commits behind apt-sim/AdePT:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

849d54e · Jan 11, 2022
Oct 26, 2020
Nov 30, 2020
Jan 6, 2022
Sep 17, 2020
Jan 11, 2022
Oct 8, 2021
Feb 26, 2021
Jan 11, 2022
Jan 6, 2022
Aug 16, 2021
Sep 14, 2021
Oct 1, 2020
Sep 14, 2020
Sep 14, 2020
Feb 10, 2021
Sep 14, 2020
Jan 11, 2022
Sep 14, 2020
Oct 26, 2020
Jan 27, 2021
Feb 26, 2021
Sep 8, 2020
Sep 14, 2021

Repository files navigation

AdePT

Accelerated demonstrator of electromagnetic Particle Transport

Build Requirements

The following packages are a required to build and run:

  • CMake >= 3.18
  • C/C++ Compiler with C++14 support
  • CUDA Toolkit (tested 10.1, min version TBD)
  • VecCore library 0.7.0 (recommended, but older versions >= 0.5.0 also work)
  • VecGeom library >= 1.1.17

To configure and build VecCore, simply run:

$ cmake -S. -B./veccore-build -DCMAKE_INSTALL_PREFIX="<path_to_veccore_installation>"
$ cmake --build ./veccore-build --target install

Find the CUDA architecture for the target GPU. If you installed the CUDA demo suite, the fastest way is to use the deviceQuery executable from extras/demo_suite. This lists the CUDA capability for all installed GPUs, remember the value for your target:

$ /usr/local/cuda/extras/demo_suite/deviceQuery
Device 0: "GeForce RTX 2080 SUPER"
  CUDA Capability Major/Minor version number:    7.5 (cuda_architecture=75)
...
Device 1: "Quadro K4200"
  CUDA Capability Major/Minor version number:    3.0 (cuda_architecture=30)

To configure and build VecGeom, use the configuration options below, using as <cuda_architecture> the value from the step above:

$ cmake -S. -B./vecgeom-build \
  -DCMAKE_INSTALL_PREFIX="<path_to_vecgeom_installation>" \
  -DCMAKE_PREFIX_PATH="<path_to_veccore_installation>" \
  -DCUDA=ON \
  -DGDML=ON \
  -DBACKEND=Scalar \
  -DCUDA_ARCH=<cuda_architecture> \
  -DUSE_NAVINDEX=ON \
  -DCMAKE_BUILD_TYPE=Release
$ cmake --build ./vecgeom-build --target install -- -j6 ### build using 6 threads and install

To configure AdePT, simply run:

$ cmake -S. -B./adept-build <otherargs>

As one needs to provide the paths to the dependence libraries VecCore and VecGeom, and optionally the path to the Alpaka installation (in case you want to build FisherPrice_Alpaka)

   -DCMAKE_PREFIX_PATH="<path_to_veccore_installation>;<path_to_vecgeom_installation>;[<alpakaInstallDir>]" \
   -DCMAKE_CUDA_ARCHITECTURES=<cuda_architecture> \
   -DCMAKE_BUILD_TYPE=Release

To build, run:

$ cmake --build ./adept-build -- -j6 ### build using 6 threads

The provided examples and tests can be run from the build directory:

$ cd adept-build
$ CUDA_VISIBLE_DEVICES=0 BuildProducts/bin/<executable>   ### use the device number matching the selected <cuda_architecture>

Copyright

AdePT code is Copyright (C) CERN, 2020, for the benefit of the AdePT project. Any other code in the project has (C) and license terms clearly indicated.

Contributions of all authors to AdePT and their institutes are acknowledged in the AUTHORS.md file.

About

Accelerated demonstrator of electromagnetic Particle Transport

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 79.6%
  • Cuda 10.0%
  • CMake 7.6%
  • C 2.8%