Global constants¶
Global variables and constants are defined upon initialization of the pisa package (pisa/__init__.py) and are available to all of its modules.
They can be imported via from pisa import <constant>.
Here we keep track of which global constants are available, what their purpose is, and by which stages they are used.
Description¶
Constant |
Description |
Default |
Overwritten by environment variables (priority indicated where necessary) |
|---|---|---|---|
|
Availability of Numba’s CUDA interface |
|
|
|
Numba compilation target |
|
|
|
Number of threads allocated to OpenMP |
|
|
|
Global limit for number of threads (also upper limit for |
|
|
|
Global floating-point data type |
|
|
|
Global complex-valued floating-point data type |
|
|
|
Global integer data type |
|
|
|
Number of significant digits used for hashing numbers, depends on |
|
|
|
Best numerical precision, derived from |
|
|
|
C floating-point type corresponding to |
|
|
|
C precision of floating-point calculations, derived from |
|
|
|
Root directory for storing PISA cache files |
|
1. |
Usage¶
The table below depicts which services make use of a select set of global constants.
Note that the table entries are derived both from the module files themselves (where the services are defined) and from any pisa.utils objects they make use of (in particular, reliance on “PISA-tailored” jit in numba_tools).
Constants which are implicitly used by all services via pisa.core objects (e.g. HASH_SIGFIGS, CACHE_DIR) are not shown.
Also note that where a service implements FTYPE and relies on C extension code, the simultaneous implementation of C_FTYPE and C_PRECISION_DEF is implied.
Legend
:heavy_check_mark:: implements
:heavy_minus_sign:: does not implement but does not fail (i.e., ignores)
|
|
|
|
|---|---|---|---|
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_minus_sign: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_minus_sign: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_minus_sign: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_minus_sign: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_check_mark: |
:heavy_check_mark: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_check_mark: |
:heavy_check_mark: |
:heavy_check_mark: |
|
:heavy_check_mark: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_check_mark: |
:heavy_check_mark: |
:heavy_check_mark: |
|
:heavy_check_mark: |
:heavy_check_mark: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_check_mark: |
:heavy_check_mark: |
|
:heavy_check_mark: |
:heavy_check_mark: |
:heavy_check_mark: |
|
:heavy_check_mark: |
:heavy_check_mark: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_minus_sign: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_minus_sign: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_minus_sign: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_minus_sign: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_minus_sign: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_check_mark: |
|
:heavy_check_mark: |
:heavy_check_mark: |
:heavy_check_mark: |
|
:heavy_check_mark: |
:heavy_check_mark: |
:heavy_check_mark: |
|
:heavy_check_mark: |
:heavy_check_mark: |
:heavy_check_mark: |
|
:heavy_minus_sign: |
:heavy_minus_sign: |
:heavy_minus_sign: |
|
:heavy_check_mark: |
:heavy_check_mark: |
:heavy_check_mark: |