Installation of PyHST2

This tutorial explains how to install and run the latest version of PyHST2. You do not need the root privileges to install PyHST2.

Compilation and installation

Dependencies

To install and run PyHST, you need to install the following :
  • Software: python, cython, gcc, nvidia-cuda-toolkit

  • Libraries: HDF5 (libhdf5-dev), openMPI, FFTW3, OpenMP

Please not that PyHST is not intended for running on Windows.

Local installation

In this tutorial, we will suppose that PyHST2 will be installed in a custom directory : /home/myself/software/pyhst2.

First, create the directory in which PyHST2 will be installed. In this directory, retrieve the source of the latest version of PyHST2 from the repository :

cd software
mkdir pyhst2
cd pyhst2
git clone https://gitlab.esrf.fr/mirone/pyhst2

the cloned directory name is pyhst2.

The next step is to prepare the directory where the binaries will be installed. By default, this directory is ~/packages, but here we will do it manually.

mkdir bin
cd bin
export PYHST2_BIN=$(pwd)

Here the environment variable PYHST2_BIN contains /home/myself/software/pyhst2/bin. Then, go into the folder containing the sources (cloned from repository) and launch the compilation :

cd ../pyhst2
python setup.py install --prefix=$PYHST2_BIN

For the default installation, you can omit the --prefix=$PYHST2_BIN option.

After the compilation, the last thing to do is to specify the installation folder to be able to run PyHST :

export PATH=$PATH:$PYHST2_BIN/bin
export PYTHONPATH=$PYTHONPATH:$PYHST2_BIN/lib/python2.7/site-packages

Launching PyHST2

Setting the environment variables

Each time you open a new bash session, you need to set the environment variable of the PyHST2 directory. For the custom installation in /home/myself/software/pyhst2/ :

# For custom-directory installation
export PATH=$PATH:/home/myself/software/pyhst2/bin/bin
export PYTHONPATH=$PYTHONPATH:/home/myself/software/pyhst2/bin/lib/python2.7/site-packages

For the standard installation (no --prefix was specified during the installation) :

# For standard installation
export PATH=$PATH:/home/myself/packages/bin
export PYTHONPATH=$PYTHONPATH:/home/myself/packages/lib/python2.7/site-packages

Then, when you type PyHST2_ and press [TAB] in a terminal, the current version should appear as a runnable command.

The launch syntax

If PyHST2 is not run from an OAR session, you need to specify :
  • the parameter file

  • the machine name

so an example would be :

PyHST2_2015X inputfile.par machine,0

Here, machine is the machine name, which is the second word of the result of the uname -a command. The ,0 option is the GPU number to use.

If PyHST2 is run from an OAR session, you do not need to specify the machine name :

PyHST2_2015X inputfile.par

Do not forget to request a GPU when opening an OAR session. For example, an interactive session of 10 minutes with a GPU can be obtained with

oarsub -I -l "nodes=1,walltime=10:00" -p "gpu='YES'"

About versions

PyHST2 uses the format PyHST2_2015X for the version name (for example PyHST2_2015a, PyHST2_2015b, …).