|
NEML2 2.0.0
|
In most cases, there is no need to manually obtain the dependent libraries/packages. The build system will automatically search for the required packages at usual locations. If the package is already installed on the system, it will be used to build NEML2. Otherwise, a compatible version of the package will be downloaded and installed under the NEML2 build directory.
In case the package of interest has been installed at a non-conventional location, and CMake's default searching mechanism fails to find it, some special configure options can be used to help locate it. For a package named <PackageName>, the following variables are tried in sequence:
<PackageName>_ROOT CMake variable<PACKAGENAME>_ROOT CMake variable<PackageName>_ROOT enviroment variable<PACKAGENAME>_ROOT environment variablePlease refer to the CMake documentation for additional hints that can be used to facilitate the package search procedure.
C++ backend:
The Runner:
Python package:
Documentation:
Work dispatcher:
CSV parser:
In addition to standard system library locations, the CMake configure script also searches for an installed torch Python package. Recent PyTorch releases within a few minor versions are likely to be compatible.
In some cases, certain dependencies cannot be obtained or are incompatible with the build system, and it becomes desirable to keep using NEML2 with some capabilities disabled.
The following table summarizes the configure options that determine when a dependency is required, and hence how a dependency can be skipped.
| Dependency | Dependent configure option(s) |
|---|---|
| Torch | |
| WASP | |
| Catch2 | NEML2_TESTS |
| argparse | NEML2_RUNNER |
| Gperftools | NEML2_RUNNER && CMAKE_BUILD_TYPE == Profiling |
| Python development libraries | NEML2_PYBIND |
| pybind11-stubgen | NEML2_PYBIND |
| pyzag | NEML2_PYBIND && NEML2_TESTS |
| pytest | NEML2_PYBIND && NEML2_TESTS |
| Doxygen | NEML2_DOC |
| Doxygen Awesome | NEML2_DOC |
| graphviz | NEML2_PYBIND && NEML2_TESTS |
| PyYAML | NEML2_DOC |
| MPI, TIMPI | NEML2_WORK_DISPATCHER |
| json | NEML2_JSON |
| CSV Parser | NEML2_CSV |
In most cases, there is no need to manually obtain the dependent libraries/packages. The build system will automatically search for the required packages at usual locations. If the package is already installed on the system, it will be used to build NEML2. Otherwise, a compatible version of the package will be downloaded and installed under the NEML2 build directory.
In case the package of interest has been installed at a non-conventional location, and CMake's default searching mechanism fails to find it, some special configure options can be used to help locate it. For a package named <PackageName>, the following variables are tried in sequence:
<PackageName>_ROOT CMake variable<PACKAGENAME>_ROOT CMake variable<PackageName>_ROOT enviroment variable<PACKAGENAME>_ROOT environment variablePlease refer to the CMake documentation for additional hints that can be used to facilitate the package search procedure.
C++ backend:
The Runner:
Python package:
Documentation:
Work dispatcher:
CSV parser:
In addition to standard system library locations, the CMake configure script also searches for an installed torch Python package. Recent PyTorch releases within a few minor versions are likely to be compatible.
In some cases, certain dependencies cannot be obtained or are incompatible with the build system, and it becomes desirable to keep using NEML2 with some capabilities disabled.
The following table summarizes the configure options that determine when a dependency is required, and hence how a dependency can be skipped.
| Dependency | Dependent configure option(s) |
|---|---|
| Torch | |
| WASP | |
| Catch2 | NEML2_TESTS |
| argparse | NEML2_RUNNER |
| Gperftools | NEML2_RUNNER && CMAKE_BUILD_TYPE == Profiling |
| Python development libraries | NEML2_PYBIND |
| pybind11-stubgen | NEML2_PYBIND |
| pyzag | NEML2_PYBIND && NEML2_TESTS |
| pytest | NEML2_PYBIND && NEML2_TESTS |
| Doxygen | NEML2_DOC |
| Doxygen Awesome | NEML2_DOC |
| graphviz | NEML2_PYBIND && NEML2_TESTS |
| PyYAML | NEML2_DOC |
| MPI, TIMPI | NEML2_WORK_DISPATCHER |
| json | NEML2_JSON |
| CSV Parser | NEML2_CSV |