PyFR |release| can be installed using pip and virtualenv, as shown in the quick-start guides below.
Alternatively, PyFR |release| can be installed from source, see :ref:`compile-from-source`.
We recommend using the package manager homebrew. Open the terminal and install the dependencies with the following commands:
brew install python3 open-mpi metis
pip3 install virtualenv
For visualisation of results, either install ParaView from the command line:
brew cask install paraview
or dowload the app from the ParaView website. Then create a virtual environment and activate it:
virtualenv --python=python3 ENV3
source ENV3/bin/activate
Finally install PyFR with pip in the virtual environment:
pip install pyfr
This concludes the installation. In order to run PyFR with the OpenMP backend (see :ref:`running-pyfr`), use the following settings in the :ref:`configuration-file`:
[backend-openmp]
cc = gcc-8
Note the version of the compiler which must support the openmp
flag.
This has been tested on macOS 10.14.
Open the terminal and install the dependencies with the following commands:
sudo apt install python3 python3-pip libopenmpi-dev openmpi-bin
sudo apt install metis libmetis-dev
pip3 install virtualenv
For visualisation of results, either install ParaView from the command line:
sudo apt install paraview
or dowload the app from the ParaView website. Then create a virtual environment and activate it:
python3 -m virtualenv pyfr-venv
source pyfr-venv/bin/activate
Finally install PyFR with pip in the virtual environment:
pip install pyfr
This concludes the installation.
This has been tested on Ubuntu 18.04.
PyFR can be obtained here.
To install the software from source, use the provided setup.py
installer or add the root PyFR directory to PYTHONPATH
using:
user@computer ~/PyFR$ export PYTHONPATH=.:$PYTHONPATH
When installing from source, we strongly recommend using pip and virtualenv to manage the Python dependencies.
PyFR |release| has a hard dependency on Python 3.6+ and the following Python packages:
- appdirs >= 1.4.0
- gimmik >= 2.0
- h5py >= 2.6
- mako >= 1.0.0
- mpi4py >= 3.0
- numpy >= 1.20
- pytools >= 2016.2.1
Note that due to a bug in NumPy, PyFR is not compatible with 32-bit Python distributions.
The CUDA backend targets NVIDIA GPUs with a compute capability of 3.0 or greater. The backend requires:
- CUDA >= 8.0
The HIP backend targets AMD GPUs which are supported by the ROCm stack. The backend requires:
The OpenCL backend targets a range of accelerators including GPUs from AMD, Intel, and NVIDIA. The backend requires:
The OpenMP backend targets multi-core CPUs. The backend requires:
- GCC >= 4.9 or another C compiler with OpenMP support
- Optionally libxsmm >= commit 14b6cea61376653b2712e3eefa72b13c5e76e421 compiled as a shared library (STATIC=0) with BLAS=0
To partition meshes for running in parallel it is also necessary to have one of the following partitioners installed: