dépendances
https://gitlab.esrf.fr/mirone/pyhst2
cuda et nvidia
cf. installation CentOs
sudo ln -s /usr/lib64/nvidia/libcuda.so libcuda.so
sudo ln -s /usr/local/cuda-9.0/lib64/libcudart.so libcudart.so
EPEL
yum install epel-release
python
sudo yum install python-devel sudo yum install Cython sudo yum install numpy
fftw
sudo yum install fftw fftw-devel
pour être pris en compte par pyhst, j'ai ajouté dans le setup.py (probablemnt pas la bonne solution...
l.192 cufft_dir = ["/usr/local/cuda-9.0/include"] l.430 include_dirs=[ numpy.get_include()] + mpi_dirs + hdf5_dirs +cufft_dir)
openmpi
sudo yum install openmpi openmpi-devel
changer le chemin vers openmpi in setup.py
l.183 mpi_dirs = ["/usr/include/openmpi-x86_64/"]
sudo ln -s openmpi-x86_64 openmpi
hdf5
https://www.hdfgroup.org/downloads/hdf5/source-code/
./configure --prefix=/usr/local/hdf5 --enable-fortran --enable-cxx make -j sudo make install sudo check-install
sudo ln -s /usr/local/hdf5/lib/libhdf5.so libhdf5.so
changer le chemin vers hdf5 dans setup.py
l.185 if 0: hdf5_dirs = ["/usr/local/hdf5/serial/"] hdf5_lib = "hdf5_serial" else: hdf5_dirs = ["/usr/local/hdf5/include/"] hdf5_lib = "hdf5"
sudo ln -s /usr/lib64/openmpi/lib/libmpi.so libmpi.so
sudo ln -s /usr/lib64/openmpi/lib/libmpi_cxx.so libmpi_cxx.so
qt
sudo yum install qt-devel
tiffio
sudo yum install libtiff-devel
compilation
dans setup.py : l.390 : retirer architecture 20
CUDA["arch"] = ["-gencode", "arch=compute_30,code=compute_30", "-gencode", "arch=compute_50,code=compute_50" ]
si il y a un pb avec syncthreads, alors ajouter "__" au début
syncthreads -> __syncthreads
optirun python setup.py build_ext --define USEGPU
installation
sudo CUDAHOME="/usr/local/cuda-9.0/" python setup.py install
dépendences python
sudo yup install python2.pip
- fabio
- numpy (updated via pip)
- scipy
- h5py
sudo yum install libvterm-devel -> nécessaire pour mpi4py sudo yum install mpi4py-openmpi cd /usr/lib64 sudo ln -s /usr/local/hdf5/lib/libhdf5.so.101 libhdf5.so.101
execution
module load mpi/openmpi-x86_64