CMTH SciPy Stack¶
Description¶
This is a full SciPy stack compiled against the Intel compilers and MKL libraries and made available as a module. It contains python 3.6.2 as well as the most recent version at the time of install of the following packages and tools:
- python
- numpy
- scipy
- matplotlib
- cython
- pandas
- ipython
- sympy
- nose
- jupyter
- numba
- bokeh
- tensorflow
- scikit-learn
User instructions¶
The module containing the latest versions of all packages at the beginning of September 2017 can be loaded as:
module load cmth-scipy-stack/2017.09
License¶
Python has the PSF License (Python Software Foundation). From version 2.2 on this is GPL compatible.
Admin notes¶
Compilation was all done on a workstation. The following additional dependencies were installed: libssl-dev
, libsqlite3-dev
and tk-dev
.
First python was compiled. This was done with the Intel compilers as follows
ml purge
ml intel
./configure \
--prefix=/common/debian/9.1/Compiler/intel/2017.4/cmth-scipy-stack/cmth-scipy-stack-2017.09 \
--with-icc --without-gcc \
--with-computed-gotos \
--with-libm=-limf --with-cxx-main=icpc --with-threads \
--enable-ipv6 \
--enable-shared \
--enable-optimizations \
CC=icc CXX=icpc LD=xild AR=xiar \
LIBS="-lpthread -limf -lirc" \
CFLAGS="-O3 -fp-model strict -fp-model source -xHost -ipo -prec-div -prec-sqrt" \
LDFLAGS="-ipo" \
CPPFLAGS="" \
CPP="icc -E" &> configure.log &
ulimit -s unlimited
make -j4 &> make.log &
make install
This was made into a module before proceeding with the rest.
Then for NumPy the following site.cfg
was used to compile it from source:
[mkl]
library_dirs = /common/debian/9.1/Core/intel/compilers_and_libraries_2017.4.196/linux/mkl/lib/intel64
include_dirs = /common/debian/9.1/Core/intel/compilers_and_libraries_2017.4.196/linux/mkl/include
mkl_libs = mkl_rt
lapack_libs =
It was then compiled with:
ml purge
ml intel mkl cmth-scipy-stack
python3 setup.py config --compiler=intelem build_clib --compiler=intelem build_ext --compiler=intelem install --prefix=/common/debian/9.1/Compiler/intel/2017.4/cmth-scipy-stack/cmth-scipy-stack-2017.09
SciPy was then compiled from source with:
python3 setup.py config --compiler=intelem --fcompiler=intelem build_clib --compiler=intelem --fcompiler=intelem build_ext --compiler=intelem --fcompiler=intelem install --prefix=/common/debian/9.1/Compiler/intel/2017.4/cmth-scipy-stack/cmth-scipy-stack-2017.09
Everything else was installed from pip3 with the stack module loaded:
package_list="matplotlib cython pandas ipython sympy nose jupyter numba bokeh tensorflow scikit-learn"
for package in $package_list; do
CC=icc CXX=icpc FC=ifort F77=ifort PYTHONUSERBASE=/common/debian/9.1/Compiler/intel/2017.4/cmth-scipy-stack/cmth-scipy-stack-2017.09 pip3 install --upgrade $package
done