Celeritas 0.6.0-109+develop.d7e7e1e9
Loading...
Searching...
No Matches
Public Attributes | List of all members
celeritas::inp::StateCapacity Struct Reference

Set up per-process state/buffer capacities. More...

#include <Control.hh>

Inheritance diagram for celeritas::inp::StateCapacity:
Inheritance graph
[legend]

Public Attributes

size_type primaries {}
 Maximum number of primaries that can be buffered before stepping.
 
size_type tracks {}
 Maximum number of track slots to be simultaneously stepped.
 

Detailed Description

Set up per-process state/buffer capacities.

Capacities are defined as the number per application process (task): this means that in a multithreaded context it implies "strong scaling" (i.e., the allocations are divided among threads), and in a multiprocess context it implies "weak scaling" (the problem size grows with the number of processes). In other words, if used in a multithread "event-parallel" context, each state gets the specified tracks divided by the number of threads. When used in MPI parallel (e.g., one process per GPU), each process rank has tracks total threads.

Note
The primaries was previously named auto_flush .
Previously, SetupOptions and celer-g4 treated these quantities as "per stream" whereas celer-sim used "per process".
Todo:
Some of these parameters will be more automated in the future.

The documentation for this struct was generated from the following file: