Skip to content
Axel Huebl edited this page Nov 2, 2016 · 9 revisions

You are here: Home > PIConGPU User Documentation > Parameter Files


Parameter files, *.param placed in include/simulation_defines/param/ are used to set all compile-time options for a PIConGPU simulation. This includes most fundamental options such as numerical solvers, floating precision, memory usage due to attributes and super-cell based algorithms, density profiles, initial conditions etc.

Rationale

High-performance hardware comes with a lot of restrictions on how to use it, mainly memory, control flow and register limits. In order to create an efficient simulation, PIConGPU compiles to exactly the numerical solvers (kernels), physical attributes (fields, species) for the setup you need to run which will furthermore be specialized for a specific hardware.

This comes at a small cost: when one of those settings is changed, you need to recompile. Nevertheless, wasting about 5 minutes compiling on a single node is nothing compared to the time you save at scale!

All options that are less or non-critical for runtime performance, such as specific ranges observables in Plugins or how many nodes shall be used can be set in run time configuration files (*.cfg) and do not need a recompile when changed.

A little guide

When editing specific parameter files, you can follow along the arrows below which represent roughly the dependencies (or hierarchy) of the individual files.

So easy, isn't it? ;)