Software

Introducción
Listado de software
Listado de paquetes python según versión
Módulos, qué son y cómo afectan al uso de los programas.
scl
Docker: software instalado mediante contenedores
Instalación de nuevo software

Introducción

El cluster CAI pone a disposición de nuestros usuarios un juego muy amplio de paquetes informáticos destinados al desarrollo de su actividad investigadora.

El primer elemento a tener en cuenta es el Sistema Operativo que, en nuestro caso, es el Centos 7. Una distribución Linux muy estable y con un amplio soporte por parte de la comunidad. En concreto nuestros usuarios deberían estar familiarizados con el uso del shell BASH, del que hay multitud de tutoriales sencillos en Internet como el disponible en WikiLibros

Listado de software

En la siguiente tabla se muestra un listado no exhaustivo del software instalado con fines de investigación. La primera columna se corresponde con el nombre, la segunda con la versión y la tercera son notas a tener en cuenta sobre su uso. En algunos casos ese uso se describirá con más detalle en subsiguientes apartados.

Aplicación Versión Notas
Anaconda (Python) 2.7 module load anaconda/2 (ver abajo)
Anaconda Python 3.6 3.6 module load anaconda/3(ver abajo)
atlas 3.10.1-12.el7
autoconf 2.69-11
automake 1.13.4-3
bash-completion 1:2.1-6.el7
blas 3.4.2-8.el7
boost 1.53.0-27.el7
Clojure 1:1.5.1-1.el7
Clojure 1.9 module load clojure/1.9
cmake 2.8.12.2-2.el7
cmake3 3.6.3-1.el7
coin-or cbc 2.10.13-1.el7
ctags 5.8-13
cuda 9.0.176-1
cudnn 7.1.4 Librería dependiente de cuda 9.0
emacs 24.3-20.el7_4
Feel++ 0.104 Instalado con docker (ver abajo)
FeniCS 2018.02.22 Instalado con docker (ver abajo)
ferret 7.3 module load ferret/7.3 (ver abajo)
Fftw-devel 3.3.3-8.el7
flex 2.5.37-3.el7
FreeFem 3.58
gaussian 16 module load gaussian/16 (ver abajo)
Gaussian 09 09 Instalado con docker (ver abajo)
gcc 4.8.5-16.el7_4.2
gcc 7.2.1 scl enable devtoolset-7 bash (ver abajo)
Git 1.8.3.1-12.el7_4
glpk 4.52.1-2.el7
gmp 1:6.0.0-15.el7
GNU Autotools 2.69
gnuplot- 4.6.2-3.el7
GrADS 2.0.2-7.el7
gsl 1.15-13.el7
HDF5 1.8.12-10.el7
HyperWorks 13.0 Servidor de licencias

(no usable directamente)

HyperWorks 14.0 module load hyperworks (ver abajo)
intel 2018.1-20171017 c++ y fortran
intelpython3 2018.1-023
Java 1:1.8.0.151-1.b12.el7_4
LAMMPS 20180117-1.el7.x86_64 Inclido el devel
LAMMPS-mpich 20180117-1.el7.x86_64 Inclido el devel
LAMMPS-openmpi 20180117-1.el7.x86_64 Inclido el devel
lapack 3.4.2-8.el7
LibMesh 1.2.1 module load LibMesh (ver abajo)
Macaulay2 1.10-1
MATLAB R2017a
Maven 2.2.1-47.el7
mercurial 2.6.2-8.el7_4
METIS 5.1.0-12.el7 wrapper Python 0.2a4
migration-n 3.6.11 module load migrate-n (ver abajo)
mono-* 1.1-3.el7
mpi4py 3.0.0
ncftp 2:3.2.5-7.el7
Ncview 2.1.2-2.el7
NetCDF 4.2-8.el7
openblas 0.2.20-3.el7
OpenFoam 5(paraview 54) Instalado con docker (ver abajo)
PETSc 3.8.3-4.el7
python3 3.6.3 module load python/3.6 (ver abajo)
python3 3.7.0b4 module load python/3.7 (ver abajo)
Python2 2.7.14 module load python/2.7 (ver abajo)
Qt 1:4.8.5-15.el7_4
R 3.4.3-1.el7
Rmpi 0.6-5 Compilado contra OpenMPI
RmySQL 0.10.13
snap 1.1.0-3.el7
subversion 1.7.14-11.el7_4
SuperLU 5.1.3-6.el7
SZIP
Tcl-devel 1:8.5.13-8.el7
tcsh/csh 0:6.18.01-15.el7
vtk 6.1.0-5.el7
yacc 1.9.20130304-3

Listado de paquetes python según versión

Por la gran demanda que tiene el lenguaje de programación python y, al estar disponible en varias versiones, vamos a detallar en la siguiente tabla los paquetes instalados en cada una de ellas.

Paquete Pyton 2.7 Python 3.6 Python 3.7 Anaconda/2 Anaconda/3
absl-py No Disponible 0.1.13 0.2.0 0.6.1 0.6.1
alabaster 0.7.10 0.7.10 0.7.10 0.7.10 0.7.10
anaconda No Disponible No Disponible custom custom
anaconda-client 1.6.5 1.2.2 1.2.2 1.6.5 1.6.5
anaconda-navigator 1.6.9 No Disponible No Disponible 1.6.9 1.6.9
anaconda-project 0.8.0 0.8.2 No Disponible 0.8.0 0.8.0
appdirs 1.4.3 1.4.3 1.4.3 1.4.3 1.4.3
asn1crypto 0.22.0 0.24.0 0.24.0 0.22.0 0.22.0
astor No Disponible 0.6.2 0.6.2 0.7.1 0.7.1
astroid 1.5.3 1.6.1 1.6.3 1.5.3 1.5.3
astropy 2.0.2 3.0 3.0.2 2.0.2 2.0.2
attrs 17.4.0 17.4.0 18.1.0 17.4.0 17.4.0
babel 2.5.0 2.5.3 2.5.3 2.5.0 2.5.0
backports No Disponible No Disponible No Disponible 1.0 1.0
backports_abc No Disponible No Disponible 0.5 0.5 No Disponible
backports.functools_lru_cache No Disponible No Disponible 1.5 1.4 No Disponible
backports.shutil_get_terminal_size No Disponible No Disponible 1.0.0 1.0.0 1.0.0
backports.ssl-match-hostname 3.5.0.1 3.5.0.1 3.5.0.1 No Disponible No Disponible
backports.weakref No Disponible No Disponible No Disponible 1.0.post1 No Disponible
beautifulsoup4 4.6.0 4.6.0 4.6.0 4.6.0 4.6.0
binutils_impl_linux-64 No Disponible No Disponible No Disponible 2.28.1 2.28.1
binutils_linux-64 No Disponible No Disponible No Disponible 7.2.0 7.2.0
bitarray 0.8.1 0.8.1 0.8.1 0.8.1 0.8.1
bkcharts 0.2 0.2 0.2 0.2 0.2
blas No disponible No disponible No disponible 1.1 1.1
blaze 0.11.3 0.10.1 0.10.1 0.11.3 0.11.3
bleach 2.0.0 1.5.0 2.1.3 2.0.0 2.0.0
bokeh 0.12.10 0.12.14 0.12.16 0.12.10 0.12.10
boto 2.48.0 2.48.0 2.48.0 2.48.0 2.48.0
bottleneck 1.2.1 1.2.1 1.2.1 1.2.1 1.2.1
bzip2 No Disponible No Disponible No Disponible 1.0.6 1.0.6
c-ares No Disponible No Disponible No Disponible 1.15.0 1.15.0
ca-certificates No Disponible No Disponible No Disponible 2018.11.29 2018.11.29
cairo No Disponible No Disponible No Disponible 1.14.10 1.14.10
cdecimal 2.3 No Disponible No Disponible 2.3 No Disponible
cdo No Disponible No Disponible 1.3.6 1.9.3-0 1.9.3-0
certifi 2018.1.18 2018.1.18 2018.4.16 2018.11.29 2018.11.29
cffi 1.10.0 1.11.4 1.11.5 1.10.0 1.10.0
chardet 3.0.4 3.0.4 3.0.4 3.0.4 3.0.4
click 6.7 6.7 6.7 6.7 6.7
cloudpickle 0.4.0 0.5.2 0.5.3 0.4.0 0.4.0
clyent 1.2.2 1.2.1 1.2.1 1.2.2 1.2.2
colorama 0.3.9 0.3.9 0.3.9 0.3.9 0.3.9
conda 4.4.8 4.3.16 4.3.16 4.4.8 4.4.8
conda-build 3.0.27 2.1.5 2.1.5 3.0.27 3.0.27
conda-env No Disponible 2.4.2 2.4.2 2.6.0 2.6.0
conda-verify 2.0.0 No Disponible No Disponible 2.0.0 2.0.0
configobj No Disponible 5.0.6 5.0.6 5.0.6 5.0.6
configparser 3.5.0 3.5.0 3.5.0 3.5.0 No Disponible
contextlib2 0.5.5 0.5.5 0.5.5 0.5.5 0.5.5
cryptography 2.0.3 2.1.4 2.2.2 2.0.3 2.0.3
curl No Disponible No Disponible No Disponible 7.55.1 7.55.1
cycler 0.10.0 0.10.0 0.10.0 0.10.0 0.10.0
cython 0.26.1 0.27.3 0.28.2 0.26.1 0.26.1
cytoolz 0.8.2 0.9.0 0.9.0.1 0.8.2 0.8.2
dask 0.15.3 0.17.0 0.17.4 0.15.3 0.15.3
dask-core No Disponible No Disponible No Disponible 0.15.3 0.15.3
datashape 0.5.4 0.5.2 0.5.2 0.5.4 0.5.4
dbus No Disponible No Disponible No Disponible 1.10.22 1.10.22
decorator 4.1.2 4.2.1 4.3.0 4.1.2 4.1.2
distributed 1.19.1 1.21.0 1.21.8 1.19.1 1.19.1
docutils 0.14 0.14 0.14 0.14 0.14
eccodes No Disponible No Disponible No Disponible 2.6.0-1 2.6.0-1
entrypoints 0.2.3 0.2.3 0.2.3 0.2.3 0.2.3
enum34 1.1.6 No Disponible No Disponible 1.1.6 No Disponible
et_xmlfile No Disponible No Disponible No Disponible 1.0.1 1.0.1
et-xmlfile 1.0.1 No Disponible 1.0.1 No Disponible No Disponible
expat No Disponible No Disponible No Disponible 2.2.4 2.2.4
fastcache 1.0.2 No Disponible 1.0.2 1.0.2 1.0.2
fftw No Disponible No Disponible No Disponible 3.3.7-0 3.3.7-0
filelock 2.0.12 3.0.4 3.0.4 2.0.12 2.0.12
flask 0.12.2 0.12.2 1.0.2 0.12.2 0.12.2
flask-cors 3.0.3 3.0.3 3.0.4 3.0.3 3.0.3
fontconfig No Disponible No Disponible No Disponible 2.12.4 2.12.4
freetype No Disponible No Disponible No Disponible 2.8 2.8
funcsigs 1.0.2 No Disponible 1.0.2 1.0.2 1.0.2
functools32 3.2.3.post2 No Disponible No Disponible 3.2.3.2 No Disponible
futures 3.1.1 No Disponible No Disponible 3.1.1 No Disponible
gast No Disponible 0.2.0 No Disponible 0.2.0 0.2.0
gcc_impl_linux-64 No Disponible No Disponible No Disponible 7.2.0 7.2.0
gcc_linux-64 No Disponible No Disponible No Disponible 7.2.0 7.2.0
get_terminal_size No Disponible No Disponible No Disponible 1.0.0 1.0.0
gevent 1.2.2 No Disponible No Disponible 1.2.2 1.2.2
gimmik No Disponible 2.1 No Disponible No Disponible No Disponible
glib No Disponible No Disponible No Disponible 2.53.6 2.53.6
glob2 0.5 No Disponible No Disponible 0.5 0.5
gmp No Disponible No Disponible No Disponible 6.1.2 6.1.2
gmpy2 2.0.8 No Disponible No Disponible 2.0.8 2.0.8
graphite2 No Disponible No Disponible No Disponible 1.3.10 1.3.10
greenlet 0.4.12 No Disponible No Disponible 0.4.12 0.4.12
grin 1.2.1 No Disponible No Disponible 1.2.1 No Disponible
grpcio No Disponible 1.10.0 No Disponible 1.16.0 1.16.0
gst-plugins-base No Disponible No Disponible No Disponible 1.12.2 1.12.2
gstreamer No Disponible No Disponible No Disponible 1.12.2 1.12.2
gxx_impl_linux-64 No Disponible No Disponible No Disponible 7.2.0 7.2.0
gxx_linux-64 No Disponible No Disponible No Disponible 7.2.0 7.2.0
h5py 2.7.0 2.7.1 No Disponible 2.7.0 2.7.0
harfbuzz No Disponible No Disponible No Disponible 1.5.0 1.5.0
hdf4 No Disponible No Disponible No Disponible 4.2.13 4.2.13
hdf5 No Disponible No Disponible No Disponible 1.10.1 1.10.1
heapdict 1.0.0 1.0.0 1.0.0 1.0.0 1.0.0
html5lib 0.999999999 0.9999999 1.0.1 0.999999999 0.999999999
icu No Disponible No Disponible No Disponible 58.2 58.2
idna 2.6 2.6 2.6 2.6 2.6
imageio 2.2.0 No Disponible No Disponible 2.2.0 2.2.0
imagesize 0.7.1 1.0.0 No Disponible 0.7.1 0.7.1
intel-openmp No Disponible No Disponible No Disponible 2018.0.0 2018.0.0
ipaddress 1.0.18 No Disponible No Disponible 1.0.18 No Disponible
ipykernel 4.6.1 No Disponible No Disponible 4.6.1 4.6.1
ipython 5.4.1 No Disponible No Disponible 5.4.1 6.1.0
ipython_genutils No Disponible No Disponible No Disponible 0.2.0 0.2.0
ipython-genutils 0.2.0 No Disponible No Disponible No Disponible No Disponible
ipywidgets 7.0.0 No Disponible No Disponible 7.0.0 7.0.0
_ipyw_jlab_nb_ext_conf No Disponible No Disponible No Disponible 0.1.0 0.1.0
isort 4.2.15 No Disponible No Disponible 4.2.15 4.2.15
itsdangerous 0.24 0.24 0.24 0.24 0.24
jasper No Disponible No Disponible No Disponible 1.900.1-4 1.900.1-4
jbig No Disponible No Disponible No Disponible 2.1 2.1
jdcal 1.3 No Disponible No Disponible 1.3 1.3
jedi 0.10.2 No Disponible No Disponible 0.10.2 0.10.2
jinja2 2.9.6 2.10 2.10 2.9.6 2.9.6
joblib 0.11 0.11 No Disponible 0.11-py27_0 0.11-py36_0
jpeg No Disponible No Disponible No Disponible 9b 9b
jsonschema 2.6.0 No Disponible No Disponible 2.6.0 2.6.0
jupyter No Disponible No Disponible No Disponible 1.0.0 1.0.0
jupyter_client No Disponible No Disponible No Disponible 5.1.0 5.1.0
jupyter-client 5.1.0 No Disponible No Disponible No Disponible No Disponible
jupyter_console No Disponible No Disponible No Disponible 5.2.0 5.2.0
jupyter-console 5.2.0 No Disponible No Disponible No Disponible No Disponible
jupyter_core No Disponible No Disponible No Disponible 4.3.0 4.3.0
jupyter-core 4.3.0 No Disponible No Disponible No Disponible No Disponible
jupyterlab 0.27.0 No Disponible No Disponible 0.27.0 0.27.0
jupyterlab_launcher No Disponible No Disponible No Disponible 0.4.0 0.4.0
jupyterlab-launcher 0.4.0 No Disponible No Disponible No Disponible No Disponible
keras No Disponible 2.1.5 No Disponible No Disponible No Disponible
kiwisolver No Disponible 1.0.1 No Disponible No Disponible No Disponible
lazy-object-proxy 1.3.1 1.3.1 1.3.1 1.3.1 1.3.1
libedit No Disponible No Disponible No Disponible 3.1 3.1
libffi No Disponible No Disponible No Disponible 3.2.1 3.2.1
libgcc No Disponible No Disponible No Disponible 7.2.0-h69d50b8_2 7.2.0-h69d50b8_2
libgcc-ng No Disponible No Disponible No Disponible 7.2.0 7.2.0
libgfortran No Disponible No Disponible No Disponible 7.2.0 7.2.0
libgfortran-ng No Disponible No Disponible No Disponible 3.0.0 3.0.0
libgpuarray No Disponible No Disponible No Disponible 0.7.5 0.7.5
libnetcdf No Disponible No Disponible No Disponible 4.4.1.1-10 4.4.1.1
libpng No Disponible No Disponible No Disponible 1.6.32 1.6.32
libprotobuf No Disponible No Disponible No Disponible 3.6.1 3.6.1
libsodium No Disponible No Disponible No Disponible 1.0.13 1.0.13
libssh2 No Disponible No Disponible No Disponible 1.8.0 1.8.0
libstdcxx-ng No Disponible No Disponible No Disponible 7.2.0 7.2.0
libtiff No Disponible No Disponible No Disponible 4.0.8 4.0.8
libtool No Disponible No Disponible No Disponible 2.4.6 2.4.6
libxcb No Disponible No Disponible No Disponible 1.12 1.12
libxml2 No Disponible No Disponible No Disponible 2.9.4 2.9.4
libxslt No Disponible No Disponible No Disponible 1.1.29 1.1.29
llvmlite 0.21.0 No Disponible No Disponible 0.21.0 0.21.0
locket 0.2.0 No Disponible No Disponible 0.2.0 0.2.0
lxml 4.1.0 No Disponible No Disponible 4.1.0 4.1.0
lzo No Disponible No Disponible No Disponible 2.10 2.10
mako 1.0.7 1.0.7 No Disponible 1.0.7 1.0.7
markdown No Disponible 2.6.11 No Disponible 2.6.11 2.6.11
markupsafe 1.0 1.0 1.0 1.0 1.0
matplotlib 2.1.0 3.0.2 No Disponible 2.1.0 2.1.0
mccabe 0.6.1 No Disponible No Disponible 0.6.1 0.6.1
mercurial No Disponible No Disponible No Disponible 4.3.3 No Disponible
metis No Disponible 0.2a4 No Disponible No Disponible No Disponible
mistune 0.7.4 No Disponible No Disponible 0.7.4 0.7.4
mkl No Disponible No Disponible No Disponible 2018.0.0 2018.0.0
mkl-service No Disponible No Disponible No Disponible 1.1.2 1.1.2
mock No Disponible No Disponible No Disponible 2.0.0 No Disponible
mpc No Disponible No Disponible No Disponible 1.0.3 1.0.3
mpfr No Disponible No Disponible No Disponible 3.1.5 3.1.5
mpi4py No Disponible 3.0.0 3.0.0 2.0.0 2.0.0
mpich2 No Disponible No Disponible No Disponible 1.4.1p1 1.4.1p1
mpmath 0.19 1.0.0 No Disponible 0.19 0.19
msgpack-python 0.4.8 0.5.4 0.5.6 0.4.8 0.4.8
multipledispatch 0.4.9 0.4.9 0.5.0 0.4.9 0.4.9
navigator-updater 0.1.0 No Disponible No Disponible 0.1.0 0.1.0
nbconvert 5.3.1 No Disponible No Disponible 5.3.1 5.3.1
nbformat 4.4.0 No Disponible No Disponible 4.4.0 4.4.0
ncurses No Disponible No Disponible No Disponible 6.0 6.0
netcdf4 No Disponible No Disponible No Disponible 1.3.1-py27_1 1.3.1
networkx 2.0 2.1 2.1 2.0 2.0
nltk 3.2.4 No Disponible No Disponible 3.2.4 3.2.4
nose 1.3.7 No Disponible No Disponible 1.3.7 1.3.7
notebook 5.0.0 No Disponible No Disponible 5.0.0 5.0.0
numba 0.36.2+0.g540650dbc.dirty No Disponible No Disponible 0.36.2 0.36.2
numexpr 2.6.2 No Disponible No Disponible 2.6.2 2.6.2
numpy 1.14.0 1.14.2 1.14.3 1.15.1 1.15.1
numpydoc 0.7.0 0.7.0 No Disponible 0.7.0​_ 0.7.0
odo 0.5.1 0.5.0 0.5.0 0.5.1 0.5.1
olefile 0.44 No Disponible No Disponible 0.44 0.44
openblas No Disponible No Disponible No Disponible 0.2.20 0.2.20
openpyxl 2.4.8 No Disponible No Disponible 2.4.8 2.4.8
openssl No Disponible No Disponible No Disponible 1.0.2p 1.0.2p
packaging 16.8 16.8 17.1 16.8 16.8
pandas 0.20.3 0.22.0 0.23.0 0.20.3 0.20.3
pandoc No Disponible No Disponible No Disponible 1.19.2.1 1.19.2.1
pandocfilters 1.4.2 No Disponible No Disponible 1.4.2 1.4.2
pango No Disponible No Disponible No Disponible 1.40.11 1.40.11
partd 0.3.8 No Disponible No Disponible 0.3.8 0.3.8
patchelf No Disponible No Disponible No Disponible 0.9 0.9
pathlib2 2.3.0 No Disponible No Disponible 2.3.0 2.3.0
path.py 10.3.1 No Disponible No Disponible 10.3.1 10.3.1
patsy 0.4.1 0.5.0 No Disponible 0.4.1 0.4.1
pbr No Disponible No Disponible No Disponible 4.2.0 No Disponible
pcre No Disponible No Disponible No Disponible 8.41 8.41
pep8 1.7.0 No Disponible No Disponible 1.7.0 1.7.0
pexpect 4.2.1 No Disponible No Disponible 4.2.1 4.2.1
pickleshare 0.7.4 No Disponible No Disponible 0.7.4 0.7.4
pillow 4.2.1 5.1.0 5.1.0 4.2.1 4.2.1
pip 9.0.1 9.0.1 10.0.1 9.0.1 9.0.1
pixman No Disponible No Disponible No Disponible 0.34.0 0.34.0
pkginfo 1.4.1 No Disponible No Disponible 1.4.1 1.4.1
pluggy No Disponible No Disponible 0.6.0 0.6.0 0.6.0
ply 3.10 No Disponible No Disponible 3.10 3.10
proj4 No Disponible No Disponible No Disponible 4.9.3-5 4.9.3-5
prompt_toolkit No Disponible No Disponible No Disponible 1.0.15 1.0.15
prompt-toolkit 1.0.15 No Disponible No Disponible No Disponible No Disponible
protobuf No Disponible 3.5.2.post1 No Disponible 3.6.1 3.6.1
psutil 5.4.0 5.4.3 5.4.5 5.4.0 5.4.0
ptyprocess 0.5.2 No Disponible No Disponible 0.5.2 0.5.2
py 1.4.34 1.5.2 No Disponible 1.4.34 1.4.34
pycairo 1.13.3 No Disponible No Disponible 1.13.3 1.15.4
pycodestyle 2.3.1 No Disponible No Disponible 2.3.1 2.3.1
pycosat 0.6.3 0.6.3 0.6.3 0.6.3 0.6.3
pycparser 2.18 2.18 2.18 2.18 2.18
pycrypto 2.6.1 No Disponible No Disponible 2.6.1 2.6.1
pycuda 2017.1.1 2017.1.1 No Disponible No Disponible No Disponible
pycurl 7.43.0 No Disponible No Disponible 7.43.0 7.43.0
pydatalog 0.17.1 0.17.1 No Disponible No Disponible No Disponible
py-dateutil No Disponible 2.2 No Disponible No Disponible No Disponible
pyflakes 1.6.0 No Disponible No Disponible 1.6.0 1.6.0
pyfr No Disponible 1.7.5 No Disponible No Disponible No Disponible
pygments 2.2.0 2.2.0 No Disponible 2.2.0 2.2.0
pygpu 0.7.5 No Disponible No Disponible 0.7.5 0.7.5
pylint 1.7.4 No Disponible No Disponible 1.7.4 1.7.4
pymc 2.3.6 2.3.6 No Disponible No Disponible No Disponible
pymc3 3.3 3.3 No Disponible 3.2-py27he296173_0 3.2-py36h89408ba_0
pyodbc 4.0.17 No Disponible No Disponible 4.0.17 4.0.17
pyopenssl 17.2.0 No Disponible No Disponible 17.2.0 17.2.0
pyparsing 2.2.0 2.2.0 2.2.0 2.2.0 2.2.0
pyqt No Disponible No Disponible No Disponible 5.6.0 5.6.0
pysocks 1.6.7 No Disponible No Disponible 1.6.7 1.6.7
pytables No Disponible No Disponible No Disponible 3.4.2 3.4.2
pytest 3.2.1 3.4.0 No Disponible 3.2.1 3.2.1
python No Disponible No Disponible No Disponible 2.7.14 3.6.3
python-cdo No Disponible No Disponible No Disponible 1.3.5-py27_0 1.3.5-py36_0
python-dateutil 2.6.1 2.6.1 2.7.3 2.6.1 2.6.1
pytools No Disponible 2017.6 No Disponible No Disponible No Disponible
pytz 2017.2 2018.3 2018.4 2017.2 2017.2
pywavelets 0.5.2 No Disponible No Disponible 0.5.2 0.5.2
pyyaml 3.12 3.12 3.12 3.12 3.12
pyzmq 16.0.2 16.0.4 No Disponible 16.0.2 16.0.2
qt No Disponible No Disponible No Disponible 5.6.2 5.6.2
qtawesome 0.4.4 No Disponible No Disponible 0.4.4 0.4.4
qtconsole 4.3.1 No Disponible No Disponible 4.3.1 4.3.1
qtpy 1.3.1 No Disponible No Disponible 1.3.1 1.3.1
readline No Disponible No Disponible No Disponible 7.0 7.0
requests 2.18.4 2.18.4 2.18.4 2.18.4 2.18.4
rope 0.10.5 No Disponible No Disponible 0.10.5 0.10.5
ruamel_yaml 0.11.14 0.15.35 0.15.37 0.11.14 0.11.14
scandir 1.6 No Disponible No Disponible 1.6 1.5
scikit-image 0.13.0 No Disponible No Disponible 0.13.0 0.13.0
scikit-learn 0.19.1 No Disponible No Disponible 0.19.1 0.19.1
scipy 0.19.1 1.0.0 No Disponible 0.19.1 0.19.1
seaborn 0.8 No Disponible No Disponible 0.8.0 0.8.0
setuptools 36.5.0.post20170921 39.0.1 39.0.1 36.5.0 36.5.0
simplegeneric 0.8.1 No Disponible No Disponible 0.8.1 0.8.1
singledispatch 3.4.0.3 No Disponible No Disponible 3.4.0.3 3.4.0.3
sip No Disponible No Disponible No Disponible 4.18.1 4.18.1
six 1.11.0 1.11.0 1.11.0 1.11.0 1.11.0
snowballstemmer 1.2.1 1.2.1 No Disponible 1.2.1 1.2.1
sortedcollections 0.5.3 No Disponible No Disponible 0.5.3 0.5.3
sortedcontainers 1.5.7 1.5.9 1.5.10 1.5.7 1.5.7
sphinx 1.6.3 1.7.1 No Disponible 1.6.3 1.6.3
sphinxcontrib No Disponible No Disponible No Disponible 1.0 1.0
sphinxcontrib-websupport 1.0.1 1.0.1 No Disponible 1.0.1 1.0.1
spyder 3.2.4 No Disponible No Disponible 3.2.4 3.2.4
sqlalchemy 1.1.13 1.2.2 1.2.7 1.1.13 1.1.13
sqlite No Disponible No Disponible No Disponible 3.20.1 3.20.1
ssl_match_hostname No Disponible No Disponible No Disponible 3.5.0.1 No Disponible
statsmodels 0.8.0 No Disponible No Disponible 0.8.0 0.8.0
subprocess32 3.2.7 No Disponible No Disponible 3.2.7 No Disponible
sympy 1.1.1 1.1.1 No Disponible 1.1.1 1.1.1
tables 3.4.2 No Disponible No Disponible No Disponible No Disponible
tblib 1.3.2 1.3.2 1.3.2 1.3.2 1.3.2
tensorboard No Disponible 1.8.0 1.10.0 1.10.0
tensorflow No Disponible 1.8.0 No Disponible 1.10.0 1.10.0
tensorflow-gpu No Disponible 1.8.0 No Disponible No Disponible No Disponible
termcolor No Disponible 0.6 No Disponible 1.1.0 1.1.0
terminado 0.6 No Disponible No Disponible 0.6 0.6
testpath 0.3.1 No Disponible No Disponible 0.3.1 0.3.1
theano 1.0.1+2.gcd195ed28 1.0.1 No Disponible 1.0.1 1.0.1
tk No Disponible No Disponible No Disponible 8.6.7 8.6.7
toolz 0.8.2 0.9.0 0.9.0 0.8.2 0.8.2
tornado 4.5.2 4.5.3 5.0.2 4.5.2 4.5.2
tqdm 4.19.5 4.19.5 No Disponible 4.19.4-py27hdfef72e_0 4.19.4-py36ha5a5176_0
traitlets 4.3.2 No Disponible No Disponible 4.3.2 4.3.2
typing 3.6.2 No Disponible No Disponible 3.6.2 3.6.2
udunits2 No Disponible No Disponible No Disponible 2.2.25-2 2.2.25-2
unicodecsv 0.14.1 No Disponible No Disponible 0.14.1 0.14.1
unixodbc No Disponible No Disponible No Disponible 2.3.4 2.3.4
urllib3 1.22 1.22 1.22 1.22 1.22
util-linux No Disponible No Disponible No Disponible 2.21-0 2.21-0
wcwidth 0.1.7 No Disponible No Disponible 0.1.7 0.1.7
webencodings 0.5.1 0.5.1 0.5.1 0.5.1 0.5.1
werkzeug 0.12.2 0.14.1 0.14.1 0.12.2 0.12.2
wheel 0.29.0 0.31.0 No Disponible 0.29.0 0.29.0
widgetsnbextension 3.0.2 No Disponible No Disponible 3.0.2 3.0.2
wrapt 1.10.11 1.10.11 1.10.11 1.10.11 1.10.11
xlrd 1.1.0 No Disponible No Disponible 1.1.0 1.1.0
xlsxwriter 1.0.2 No Disponible No Disponible 1.0.2 1.0.2
xlwt 1.3.0 No Disponible No Disponible 1.3.0 1.3.0
xz No Disponible No Disponible No Disponible 5.2.3 5.2.3
yaml No Disponible No Disponible No Disponible 0.1.7 0.1.7
zeromq No Disponible No Disponible No Disponible 4.2.2 4.2.2
zict 0.1.3 0.1.3 0.1.3 0.1.3 0.1.3
zlib No Disponible No Disponible No Disponible 1.2.11 1.2.11

Módulos, qué son y cómo afectan al uso de los programas.

Antes de usar algunos paquetes de software, como se ve arriba en las notas, necesitan la carga de un módulo.

Los módulos no son sino unos pequeños scripts que definen variables necesarias para la ejecución de dichos programas. Después de la carga del módulo con el comando que aparece en las notas, podemos ejecutar el programa sin ningún requisito más.

Si en algún momento deseásemos eliminar un módulo (conveniente si pasamos de usar una versión del programa a usar otra distinta), sería necesario descargar el módulo. Para ello usamos el comando siguiente (en el ejemplo se descarga el módulo correspondiente al Python 2.7):

module unload python/2.7

scl

El sistema operativo tiene como compilador estándar el gcc versión 4.8.5 y no se puede instalar de manera tradicional una versión mayor. Sin embargo, sí se puede acceder a compiladores con una versión más alta.

Para ello hay que indicarle al sistema que habilite las características de desarrollo de esa versión más alta, lo que en el caso de la versión que hemos incluido se consigue con el comando

scl enable devtoolset-7 bash

A partir de ahí el uso del compilador gcc es el normal (recuerde que debe usar el comando de carga tanto para compilar como antes de lanzar el ejecutable en el script para que las librerías correspondientes estén disponibles):

$ gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)
Copyright (C) 2015 Free Software Foundation, Inc.
Esto es software libre; vea el código para las condiciones de copia. NO hay
garantía; ni siquiera para MERCANTIBILIDAD o IDONEIDAD PARA UN PROPÓSITO EN
PARTICULAR

$ scl enable devtoolset-7 bash
$ gcc --version
gcc (GCC) 7.2.1 20170829 (Red Hat 7.2.1-1)
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Docker: software instalado mediante contenedores

En el caso de algunos paquetes de software se ha tenido que proceder a su instalación mediante el sistema de contenedores Linux conocido como Docker.

Las razones que nos han motivado esta opción son varias. En algunos casos es el propio equipo desarrollador del sistema el que aconseja este método, mientras que en otros casos se debe a que el paquete de software no está disponible para nuestra versión de Linux, pero es instalable de esta forma.

La forma de uso es sencilla, el software se invoca exactamente de la misma forma que si estuviera instalado directamente en nuestro sistema y la única salvedad es que hay un pequeño “mapeo” de carpetas. Como siempre es más fácil de explicar y visualizar mediante un ejemplo, vamos a mostrar la lista de conversiones y luego presentaremos dicho ejemplo

Programa Ejecutable Carpeta en CAI3 Carpeta en Docker
OpenFoam /apps/openfoam5/openfoam5 /scratch/$USER/openfoam5 /home/openfoam
Feel++ /apps/feelpp/feelpp.v0.104.0 /scratch/$USER/feel /feel
Fenics /apps/fenics/fenics.20180222 /scratch/$USER/fenics /home/fenics/shared
Gaussian09 /apps/gaussian/g09/g09 /scratch/${USER}/g09 /scratch/g09

Ejemplo

Supongamos que el usuario u12345678 quiere pasarle el fichero “input.gjf” que se encuentra en la carpeta “input” al Gaussian09 y que los resultados estén disponibles en un fichero llamado “output.log” en una carpeta que se llame igual que el trabajo (configurable con la directiva #SBATCH –job-name=”TEST”) terminado en “.log”. Ambas carpetas están creadas y cuelgan de la carpeta desde la que vamos a lanzar el trabajo.

Vamos a partir del script ejemplo que se halla en nuestras PMF. Aquí no vamos a mostrar las líneas correspondientes a las directivas de sbatch que podrá encontrar en dicho enlace, centrándonos en las líneas correspondientes a los comandos a ejecutar.

#------- CONFIGURACION ENTORNO -------
# En este apartado se configuran variables para que si reutilizamos el script, sólo tengamos que tocar aquí
# Nótese que, salvo las tres o cuatro primeras líneas, no habría que tocar nada más para seguir usando el script
export FICHERO_ENTRADA=input.gjf
export DATASOURCE=$SLURM_SUBMIT_DIR/input
export DATAEND=$SLURM_SUBMIT_DIR/$SLURM_JOB_NAME
export FICHERO_SALIDA=${SLURM_JOB_NAME}.log
# Con las siguientes dos líneas implementamos la conversión de carpetas
export SCRATCH_CAI=/scratch/${USER}/g09
export SCRATCH_DOCKER=/scratch/g09
export GAUSSIAN=/apps/gaussian/g09/g09

# Configuración del scratch
mkdir -p $SCRATCH_CAI

#------- COPIA DE DATOS AL SCRATCH -------
cp $DATASOURCE/$FICHERO_ENTRADA $SCRATCH_CAI/$FICHERO_ENTRADA

#------- EJECUTAMOS EL PROGRAMA -------
# Aquí es donde está lo más interesante. Como lanzamos Gaussian en un modo no interactivo, debemos pasarle el
# fichero de entrada con la carpeta de dentro del docker, pero la redirección de salida si usa la carpeta CAI
srun $GAUSSIAN $SCRATCH_DOCKER/$FICHERO_ENTRADA > $SCRATCH_CAI/$FICHERO_SALIDA
RESULT=$?

#------- SALVAMOS LOS RESULTADOS -------

mv $SCRATCH_CAI/$FICHERO_SALIDA $DATAEND

#------- ELIMINAMOS FICHEROS TEMPORALES -------

rm -rf $SCRATCH_CAI

#------- FIN -------

exit $RESULT

Esta parte del script está diseñada para que el usuario tenga que tocarlo lo menos posible, centrándose en lo que debe ser más importante para él: diseñar el fichero de entrada e interpretar posteriormente el fichero de salida.

Instalación de nuevo software

Si por algún motivo el software que desea no se encuentra disponible tiene dos posibilidades.

Instalación propia

Si el software que desea usar sólo va a ser usado por usted y además no pesa mucho, siempre puede instalarlo en su propio $HOME. No se requieren privilegios especiales para ello, aunque debe asegurarse de definir correctamente las variables necesarias para que el sistema reconozca que usted quiere usar ese programa y no otro que esté instalado en el sistema.

Instalación general

Si el software va a ser de un uso muy general, es muy pesado (ocupa mucho espacio en disco) o bien la instalación es complicada, siempre puede optar por abrir un CAU enviándonos toda la información de que disponga. En especial, esta información debe incluir el tipo de licencia y la licencia si es necesaria,  las instrucciones de instalación suministradas por el fabricante y el software necesario (o un enlace para su descarga).