Installation¶
DIJITSO is normally installed as part of an installation of FEniCS. If you are using DIJITSO as part of the FEniCS software suite, it is recommended that you follow the installation instructions for FEniCS.
To install DIJITSO itself, read on below for a list of requirements and installation instructions.
Requirements and dependencies¶
DIJITSO requires Python version 2.7 or later and depends on the following Python packages:
- six
- NumPy
These packages will be automatically installed as part of the installation of DIJITSO, if not already present on your system.
If running on a cluster with Infiniband with python 2, you also need to install a backport of the subprocess module from python 3 to get safe fork behaviour:
- subprocess32
Additionally, to run tests the following packages are needed
- pytest
- mpi4py (for running tests with mpi)
Installation instructions¶
To install DIJITSO, download the source code from the DIJITSO Bitbucket repository, and run the following command:
pip install .
To install to a specific location, add the --prefix
flag
to the installation command:
pip install --prefix=<some directory> .
Environment¶
Instant’s behaviour depened on following environment variables:
DIJITSO_CACHE_DIR
This option overrides the placement of the cache directory. By default the cache directory is placed in
.cache/dijitso
either below the home directory or below the prefix of the currently active virtualenv or conda environment if any.
DIJITSO_SYSTEM_CALL_METHOD
Choose method for calling external programs (c++ compiler). Available values:
SUBPROCESS
Uses pipes. Not OFED-fork safe on Python 2 unless subprocess32 has been installed. Default.
OS_SYSTEM
Uses temporary files. Probably OFED-fork safe.
Warning
OFED-fork safe system call method might be required to avoid crashes on OFED-based (InfiniBand) clusters! If using python 2, installing subprocess32 is recommended.