Skip to content
Axel Huebl edited this page Oct 29, 2015 · 5 revisions

You are here: Home > PIConGPU FAQ


This page contains a list of frequently asked (user) questions about PIConGPU.

Why does my code compile so long?

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.

What version of PIConGPU should I use?

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.

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.