Táboa de Contidos

Información del software disponible

Compiladores

GCC

http://gcc.gnu.org/
Versión
$ gcc --version 
gcc (Debian 4.7.2-5) 4.7.2
Módulo - (nativo del sistema)

<html> </html>

Java

http://www.java.com/es/download/
Versión
$ java -version
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)
Módulo
module load jdk
Versión
$ java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
Módulo
module load jdk/1.8.0_25

El tamaño del heap de JAVA está limitado al 25% del límite de memoria de la correspondiente cola y, en cualquier caso, con un tamaño máximo de 8 GB. Esta limitación garantiza que las aplicaciones JAVA no consuman más recursos de los asignados.

Los usuarios pueden utilizar otros tamaños de heap en sus trabajos si modifican, antes de ejecutar JAVA, el valor de la opción -Xmx de JAVA a través de la variable _JAVA_OPTIONS. Por ejemplo, si queremos que el heap tenga 16 GB, el comando sería:

export _JAVA_OPTIONS=-Xmx16777216K

<html>

</html>

Python

http://www.python.org/
Versión
$ python --version
Python 2.7.3
Módulo - (nativo del sistema)
:!: Paquetes En en sistema solo está instalado el sistema base:
Los usuarios deben instalar otros paquetes en su $HOME

Es posible instalar cualquier paquete presente en el índice de paquetes de python. A continuación mostramos un ejemplo de instalación/actualización/desinstalación del paquete pywavelets en el $HOME de usuario del clúster ctcomp2. Para evitar potenciales problemas, se recomienda realizar la instalación de paquetes en una sesión interactiva en el frontend.

Si obtenemos un error:
Please install a more recent version first, using
'easy_install -U distribute'.

Debemos ejecutar el comando easy_install -U –user distribute, para actualizar la base de datos en el espacio de usuario.

Instalación

Ejecutar el siguiente comando en bash:

python -m pip install --user pywavelets
Actualización

Ejecutar el siguiente comando en bash:

python -m pip install --upgrade pywavelets
Desinstalación

Ejecutar el siguiente comando en bash:

python -m pip uninstall pywavelets

<html>

</html>

Librerías computacionales

MATLAB

http://www.mathworks.es/products/matlab/
Versión R2011a
R2012a
Módulo
module load matlab/R2011a
module load matlab/R2012a
Comentarios Es posible que ejecuciones largas aparezca el siguiente warning:
Your MATLAB session has timed out. All license keys have been returned.
Aparentemente, este warning no afecta a las ejecuciones activas de MATLAB.
MATLAB emplea internamente, y de manera transparente al usuario, threads para paralelizar ciertas operaciones, por lo que se puede utilizar reservando varios núcleos computacionales dentro de un mismo nodo. Sin embargo, en las versiones instaladas no es posible controlar esta característica, por lo que MATLAB utiliza todos los recursos del nodo asignado, independientemente de los recursos solicitados. Para evitar posibles cancelaciones debido a un uso indebido de los recursos asignados, se recomienda a los usuarios utilizar el paralelismo implícito de MATLAB solo cuando se reserve en exclusividad un nodo del clúster. En cualquier otro caso, se recomienda solicitar únicamente un núcleo computacional y utilizar la opción -singleCompThread, que desactiva el paralelismo implícito de MATLAB para realizar una ejecución secuencial. En este ejemplo, el nombre del script es test.m.
#!/bin/bash
#PBS -l nodes=1:ppn=1,walltime=1:00:00
#PBS -N ej-MATLAB
cd $PBS_O_WORKDIR
module load matlab
matlab -r test -nodisplay -nojvm -singleCompThread
# -r:         indicar el fichero a ejecutar (sin .m)
# IMPORTANTE: incluir la orden quit al final del fichero
# -nodisplay: sin display X.
# -nosplash:  sin pantalla inicial (OPCIONAL)
# -nojvm:     sin entorno java (OPCIONAL)
# -singleCompThread: ejecuta MATLAB secuencialmente

<html> </html>

Octave

https://www.gnu.org/software/octave/
Versión 3.6.2
Módulo - (nativo del sistema)
Comentarios En en sistema solo está instalado el sistema base:
Los usuarios deben instalar otros paquetes en su $HOME

Es posible instalar cualquier paquete presente en el índice de paquetes de octave. A continuación mostramos un ejemplo de instalación del paquete image en el $HOME de usuario del clúster ctcomp2, utilizando una sesión interactiva (qsub -I -q interactive).

<html> </html>

R

http://cran.r-project.org/
Versión 2.15.2
3.2.2
3.3.1
3.4.0
Módulo
module load R/2.15.2 module load R/3.2.2 module load R/3.3.1 module load R/3.4.0
:!: Paquetes Solo está instalado el sistema base:
Los usuarios deben instalar otros paquetes en su $HOME.

Cómo instalar paquetes R:

Ejemplo de instalación del paquete nnet en el $HOME de usuario del clúster ctcomp2. Para evitar potenciales problemas, se recomienda realizar la instalación de paquetes en unha sesión interactiva en el frontend.

  1. Crear un directorio ~/libR:
    mkdir ~/libR
  2. Iniciamos una sesión interactiva:
    qsub -I -q interactive
  3. Arrancar el entorno R:
    module load R
    R
  4. Ejecutar el siguiente comando dentro de R:
    install.packages("nnet",lib="~/libR/", repos="http://cran.es.r-project.org/")
  5. Para usar un paquete instalado en ~/libR/, ejecutar dentro de R:
    library("nnet", lib.loc="~/libR/")

<html> </html>

MOSES

http://www.statmt.org/moses/
Versión 2.1.1
3.0
Módulo
module load moses/2.1.1
module load moses3/3.0

ACML (AMD Core Math Library)

http://developer.amd.com/tools/cpu-development/amd-core-math-library-acml/
Versión 5.2.0_64 gfortran (compilador GCC)
Módulo
module load acml/5.2.0_64          
module load acmlacml/5.2.0_64_fma4     
module load acmlacml/5.2.0_64_mp       
module load acmlacml/5.2.0_64_mp_fma4
Versión por defecto: acml/5.2.0_64
Comentarios mp: multiprocessor
fma4: fused multiply–add (FMA) operations (wikipedia)
Versiones incompatibles (sólo uno de los módulos puede estar activo)
El frontend no soporta FMA4

<html> </html>

FFTW

http://fftw.org/
Versión 3.3.3
Módulo
module load fftw

<html>

</html>

WFDB

http://www.physionet.org/physiotools/wfdb.shtml
Versión 10.5.18
Módulo
module load wfdb

<html>

</html>

OpenCV

http://http://opencv.org/
Versión 2.4.11
Módulo
module load openCV/2.4.11

Liberías de paso de mensajes

Open MPI

http://www.open-mpi.org/
Versión 1.6.3
Módulo
module load openmpi

<html>

</html>

MPICH

http://www.mpich.org
http://www.mcs.anl.gov/research/projects/mpi/mpich1-old/
Versiones MPICH1 1.2.7p1
MPICH2 1.4.1
MPICH 3.0
Módulo
module load mpich/1.2.7p1
module load mpich/1.4.1
module load mpich/3.0

<html>

</html>

Simuladores

TCAD-ATLAS (Silvaco)

http://www.silvaco.com/products/device_simulation/atlas.html
Versión 2012
Módulo
module load silvaco-tcad

<html>

</html>

SENTAURUS (Synopsys)

http://www.synopsys.com/Tools/TCAD/Pages/default.aspx
Versiones D_2010.03 y G_2012.06-SP1
Módulo
module load synopsys-sentaurus/D_2010.03
module load synopsys-sentaurus/G_2012.06-SP1

<html>

</html>

IC Design (CADENCE)

http://www.cadence.com/products/cic/Pages/default.aspx
Versiones 6.1.5 (2012-2013)
Módulo
module load cadence
:!: Comentarios Antes de arrancar ocean es necesario ejecutar
source /optct/cadence/2012-2013/lnx86/cadence.bash
y arrancar ocean dentro de un entorno de X simulado
xvfb-run -a -n 80 -s “-screen 0 640x480x16” ocean < script.ocn

Ocean/Cadence no se puede ejecutar directamente en ctcomp2, aunque sea con la opción -nograph, ya que no es capaz de arrancar las X's. Teoricamente, la opción nograph precisamente haría que ocean se pudiese ejecutar sin X, pero el problema es que, con esta opción, ocean trata de arrancan un sistema X falso que tampoco funciona.

La solución para solventar este inconveniente en ctcomp2 es crear nuestro propio entrono X falso antes de executar ocean (sin la opción nograph). Utilizamos el comando xvfb-run para crear ese entorno X.

Por lo tanto, para ejecutar script.cdn, guardando la salida de ocean en fichero.log, la secuencia de comandos a ejecutar es:

module load cadence
source /optct/cadence/2012-2013/lnx86/cadence.bash
xvfb-run -a -n 80 -s "-screen 0 640x480x16" ocean < script.ocn > fichero.log