Get Started
Tip
pressio-ops is header-only, so it does not need to be precompiled and linked to.
Warning
To use pressio-ops, you need at least a C++17 compiler.
Dependencies
Some parts contain code that are specific to third-party libraries (TPLs). Currently, the list of TPLs supported is shown below:
TPL Name |
Optional/Required |
Version Known to Work/run in CI |
---|---|---|
Eigen |
Required |
3.4.0 |
Trilinos |
Optional |
commits: 0dc4553, 5bbda25 |
MPI |
Optional |
– |
Kokkos |
Optional |
4.4.01 |
BLAS |
Optional |
– |
LAPACK |
Optional |
– |
GoogleTest |
Optional |
1.14.0 |
Eigen is the only required dependency because it is needed by pressio-rom.
Macros
Enabling/disabling specific dependencies can be done via the following macros:
Variable |
Description |
Default |
---|---|---|
|
self-explanatory |
|
|
self-explanatory |
|
|
self-explanatory |
|
|
self-explanatory |
|
Obviously, the choice of which TPLs to enable is related to
your application’s dependency requirements.
For example, if you have an application that relies on
Trilinos data structures and want to use pressio-ops
,
then it makes sense to enable the Trilinos dependency.
On the contrary, if you have an application that relies only on
Eigen data structures, then it makes sense to only leave only Eigen on
and disable the rest.
Note that some of the macros listed above are related.
For example, if we enable Trilinos then pressio-ops
automatically
enables also Kokkos, BLAS, LAPACK and MPI.
Building tests
If you are interested in building the tests, look for example at: