===== PYTHON =====
^ Installed version ^ modules ^ packages dir ^
^ python 2.7.5 | | /usr/lib64/python2.7/site-packages |
^ python 2.7.14 | module load gnu python/2.7.14 | /hpc/share/tools/python/2.7.14/lib/python2.7/ |
^ python 3.6.3 | module load gnu python/3.6.3 | /hpc/share/tools/python/3.6.3/lib/python3.6/ |
==== Python 2.7.14 virtualenv for "machine-learning" ====
[[https://virtualenv.pypa.io/en/stable|Virtualenv]] is a tool to create isolated Python environments.
module load gnu/5.4.0
module load python/2.7.14
module load cuda/8.0.61.2
module list
which python
python2 -m pip install --user --upgrade pip
python2 -m pip install --user virtualenv
mkdir -p "$HOME/local/tools/python/2.7.14/virtualenv/machine-learning"
python2 -m virtualenv "$HOME/local/tools/python/2.7.14/virtualenv/machine-learning"
Activate "machine-learning" virtual environment:
source "$HOME/local/tools/python/2.7.14/virtualenv/machine-learning/bin/activate"
Install packages in "machine-learning" virtual environment:
pip install --upgrade opencv-python Pillow sklearn h5py scikit-image cython easydict
Deactivate "machine-learning" virtual environment:
deactivate
==== Python 3.6.3 virtualenv for "machine-learning" ====
module load gnu/5.4.0
module load python/3.6.3
module load cuda/8.0.61.2
module list
which python
python3 -m pip install --user --upgrade pip
python3 -m pip install --user virtualenv
mkdir -p "$HOME/local/tools/python/3.6.3/virtualenv/machine-learning"
python3 -m virtualenv "$HOME/local/tools/python/3.6.3/virtualenv/machine-learning"
Activate "machine-learning" virtual environment:
source "$HOME/local/tools/python/3.6.3/virtualenv/machine-learning/bin/activate"
Install packages in "machine-learning" virtual environment:
pip install --upgrade opencv-python Pillow sklearn h5py scikit-image cython easydict
Deactivate "machine-learning" virtual environment:
deactivate
==== Python 3.6.3 virtualenv for "espresso" ====
#MYVE=~/virtualenvironment # customize here
MYVE=/hpc/group/T_HPC18A/virtualenvironment
mkdir -p $MYVE
virtualenv $MYVE/espresso
wget https://github.com/espressomd/release/raw/master/espresso-4.0.0.tar.gz
mkdir -p ~/software-build/applications/espresso/4.0/espresso-4.0.0
mkdir -p ~/software-build/applications/espresso/4.0/espresso-4.0.0-build
cd ~/software-build/applications/espresso/4.0/espresso-4.0.0-build
module load gnu/5.4.0
module load openmpi/1.10.7
module load python/3.6.3
module load cuda/8.0.61.2
module load hdf5/1.8.17
module load gsl/2.2.1
module load boost/1.63.0
module list
export CC="$(which gcc)"
which python
python3 -m pip install --user --upgrade pip
python3 -m pip install --user virtualenv
mkdir -p "$HOME/local/tools/python/3.6.3/virtualenv/espresso"
python3 -m virtualenv "$HOME/local/tools/python/3.6.3/virtualenv/espresso"
source "$HOME/local/tools/python/3.6.3/virtualenv/espresso/bin/activate"
pip install --upgrade cython
pip install --upgrade -r ~/software-build/applications/espresso/4.0/espresso-4.0.0/requirements.txt
Installing collected packages: urllib3, idna, chardet, certifi, requests, docutils, snowballstemmer, pytz, babel, MarkupSafe, Jinja2, sphinxcontrib-websupport, six, Pygments, pyparsing, packaging, alabaster, imagesize, sphinx, latexcodec, PyYAML, pybtex, pybtex-docutils, oset, sphinxcontrib-bibtex, numpy, biopython, decorator, networkx, GridDataFormats, msgpack, mmtf-python, joblib, scipy, cycler, python-dateutil, kiwisolver, matplotlib, pbr, mock, gsd, MDAnalysis
Successfully installed GridDataFormats-0.4.0 Jinja2-2.10 MDAnalysis-0.19.2 MarkupSafe-1.1.0 PyYAML-3.13 Pygments-2.2.0 alabaster-0.7.12 babel-2.6.0 biopython-1.72 certifi-2018.10.15 chardet-3.0.4 cycler-0.10.0 decorator-4.3.0 docutils-0.14 gsd-1.5.4 idna-2.7 imagesize-1.1.0 joblib-0.13.0 kiwisolver-1.0.1 latexcodec-1.0.5 matplotlib-3.0.2 mmtf-python-1.1.2 mock-2.0.0 msgpack-0.5.6 networkx-2.2 numpy-1.15.4 oset-0.1.3 packaging-18.0 pbr-5.1.1 pybtex-0.22.0 pybtex-docutils-0.2.1 pyparsing-2.3.0 python-dateutil-2.7.5 pytz-2018.7 requests-2.20.1 scipy-1.1.0 six-1.11.0 snowballstemmer-1.2.1 sphinx-1.8.2 sphinxcontrib-bibtex-0.4.0 sphinxcontrib-websupport-1.1.0 urllib3-1.24.1
[[http://espressomd.org/html/doc/installation.html | Installing Espresso ]]
cp myconfig-sample.hpp myconfig.hpp
edit myconfig.php and uncomment defaults ( http://espressomd.org/html/dox/myconfig-default_8hpp_source.html ).
Then uncomment
/* Virtual sites features */
#define VIRTUAL_SITES
//#define VIRTUAL_SITES_RELATIVE
#define VIRTUAL_SITES_INERTIALESS_TRACERS
/* Immersed-Boundary Bayreuth version */
#define IMMERSED_BOUNDARY
cmake3 \
~/software-build/applications/espresso/4.0/espresso-4.0.0 \
--help
cmake3 -DCMAKE_INSTALL_PREFIX=/hpc/group/T_HPC18A/virtualenvironment/espresso/ -
DCMAKE_C_COMPILER=/opt/ohpc/pub/compiler/gcc/5.4.0/bin/gcc -
DCMAKE_CXX_COMPILER=/opt/ohpc/pub/compiler/gcc/5.4.0/bin/g++ -DWITH_SCAFACOS=OFF .
Build files have been written to: /hpc/group/T_HPC18A/software-build/espresso/espresso-4.0.0
Installing: /hpc/group/T_HPC18A/virtualenvironment/espresso/
Compile and install in the VE
make -j6
make -j6 install
Deactivate the Espresso Virtual Environment
deactivate
Slurm script espresso.sh
#!/bin/bash
#SBATCH --partition=bdw
#SBATCH --output=%x.o%j
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=4
#SBATCH --account=T_HPC18A
module load gnu/5.4.0
module load openmpi/1.10.7
module load python/3.6.3
module load cuda/8.0.61.2
module load hdf5/1.8.17
module load gsl/2.2.1
module load boost/1.63.0
#activate VE
source /hpc/group/T_HPC18A/virtualenvironment/espresso/bin/activate
python /hpc/group/T_HPC18A/software-build/espresso/espresso-4.0.0/samples/immersed_boundary/sampleImmersedBoundary.py
#deactivate VE
deactivate
==== MPI for PYTHON ====
[[ http://mpi4py.scipy.org/docs/ | Original site ]]
-
[[ https://github.com/jbornschein/mpi4py-examples | examples]]
hello-mpi-world.py
#!/usr/bin/env python
from mpi4py import MPI
comm = MPI.COMM_WORLD
name=MPI.Get_processor_name()
print "Hello! I'm rank ",comm.rank," on node ", name, " from ", comm.size, " running in total"
comm.Barrier() # wait for everybody to synchronize _here_
Submission example hello-mpi-world.sh:
#!/bin/bash
#SBATCH --partition=bdw
#SBATCH --output=%x.o%j
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=4
#SBATCH --account=T_HPC18A
module load gnu7 openmpi3 py2-mpi4py
#module load intel openmpi3 py2-mpi4py
mpirun python -W ignore hello-mpi-world.py
Matrix-Vector product:
cp /hpc/group/T_HPC18A/samples/mpi4py/matrix-vector-product.py .
cp /hpc/group/T_HPC18A/samples/mpi4py/matrix-vector-product.sh .
sbatch matrix-vector-product.sh