-
Notifications
You must be signed in to change notification settings - Fork 218
PIConGPU FAQ
You are here: Home > PIConGPU FAQ
This page contains a list of frequently asked (user) questions about PIConGPU.
Please see the section in our README.md
Please list the basic properties of your environment, such as
- operating system & version (e.g.,
Ubuntu 16.04 64bit on x86
) - compiler and its version used (e.g.,
GCC 4.9.2
) - CMake and its version used (e.g.,
CMake 3.5.2
) - libraries and their versions used: loaded modules on an HPC system, installed packages on a Desktop (e.g.,
gcc/4.9.2, cmake/3.3.0, boost/1.56.0, cuda/7.0, openmpi/1.8.4.kepler.cuda70, pngwriter/0.5.6, hdf5-parallel/1.8.14, libsplash/1.4.0
) - the output of our
configure
script (CMake) andcmake -L .
in thebuild
directory - if necessary, include your
.param
files (compile time options) and your.cfg
files (runtime options)
PIConGPU uses specific C++ programming techniques to optimize the algorithms as much as possible before a simulation is run. The logic behind this is simple: compiling a few minutes on a single machine is computationally cheap but being inefficient in a highly parallel environment such as a (GPU) cluster would not be. Depending on the order of the used solvers for fields and particles and on the number of particle species more code might be specifically optimized for your simulation.
Due to compiler limitations when using so called header-only libraries, parallelization of the compile process itself is not possible. Best results can be achieved with a few but fast CPUs, e.g., on a head node of a cluster leading to a compile time of 3 to 5 minutes for usual setups.
Generally, using the newest stable release for production runs is highly recommended. Make sure to subscribe to the feed of the user mailing list to receive announcements in case unexpected bugs are found or new releases are created.
Be aware that new versions might introduce syntax changes for old simulations which are described in our changelog. If you rely on an old version but need an urgent bug fix for it consider opening an issue and describe your problem, so we might be able to release a new revision of a previous version of PIConGPU that only fixes a small issue (backporting). Please be aware, that new features (changes that are not fixing bugs) are usually not possible to be backported.
If you are planning to contribute code make sure to contact us first, either via the mailing list or by opening a new issue about the development you want to contribute. You would then start from the dev
(development) branch. The development branch is less restricted on stability and due to it's fast development and change it is highly discouraged for users to rely on it for production runs, if not advised otherwise.
All wiki entries describe the dev branch. Features may be different in the current master branch.
Before you start please read our README!
PIConGPU is a scientific project. If you present and/or publish scientific results that used PIConGPU, you should set a reference to show your support. Our according up-to-date publication at the time of your publication should be inquired from:
The documentation in this wiki is still not complete and we need your help keeping it up to date. Feel free to help improving this wiki!