Clúster Casper disponible

Tras meses de trabajo, hemos desplegado completamente el nuevo clúster Casper, que sustituye a Alice. Este nuevo clúster incorpora mejoras significativas tanto de hardware como de software. Por un lado, hemos actualizado el nodo de login (front-end) a un nuevo servidor de altas prestaciones con procesadores de última generación, sustituyendo el anterior que databa de 2008. Todo el sistema de almacenamiento se ha reconstruido con cuatro servidores dedicados (dos de metadatos y dos de almacenamiento) basados en BeeGFS, sobre una red 10 GbE que sustituye a la anterior red de 1 Gb. Se han instalado también dos nuevas redes de comunicación entre nodos para permitir el uso tanto diario como de administración en redes independientes. Hemos actualizado también el hardware de todos los nodos para homogeneizar la infraestructura, incorporando discos NVMe de alta velocidad para el sistema operativo, un sistema de doble scratch SSD y HDD para trabajos con baja o alta demanda de escritura, y al menos 128 GB de RAM en todos los nodos.

En el apartado de software, hemos sustituido toda la infraestructura de Rocks Cluster (basada en Centos 7.4, que databa de 2017) por Rocky Linux, que cuenta con un ciclo de vida hasta 2029. Se ha reestructurado el sistema de gestión del clúster por Warewulf y se ha sustituido el gestor de colas por OpenPBS, integrado todo en la suite OpenHPC. Se han instalado también versiones estables actualizadas tanto de compiladores (libres y propietarios) como del software de investigación disponible.

Los nodos de cálculos existentes en Alice se han migrado satisfactoriamente a Casper, manteniendo las colas de trabajo alpha, beta, gamma, epsilon y dseta. A nivel de administración, la numeración de los nodos se ha modificado para facilitar la identificación nodo-cola y permitir futuras ampliaciones con comodidad.

Las pruebas de rendimiento muestran mejoras de hasta un 40% respecto de Alice, por lo que confiamos en que estas actualizaciones sean de utilidad para todos los investigadores del CCAR.

Logs de salida en Casper

En el clúster Casper, por defecto, los logs de salida (tanto de salida estándar como de error) no se generan en el directorio de trabajo del usuario, sino en el nodo de cálculo en el que se está ejecutando el trabajo. Solo cuando finaliza el trabajo los logs se redirigen al directorio de trabajo, permitiendo que se muestre el contenido tanto de la salida estándar como de la salida de error.

Si es necesario hacer un seguimiento de la evolución de un trabajo, siempre es posible redirigir la salida estándar de un programa al directorio de trabajo, concatenando con una tubería la ruta a ese directorio:

lmp -in input.lmp -log $PBS_O_WORKDIR/$PBS_JOBID.log
mpirun -np 4 ./ejecutable > $PBS_O_WORKDIR/$PBS_JOBID.log
./ejecutable > $PBS_O_WORKDIR/$PBS_JOBID.log

Cualquiera de estos ejemplos creará en el directorio desde el que se lanza el trabajo ($PBS_O_WORKDIR) un archivo que coincide con el número de trabajo ($PBS_JOBID.log), lo que posibilita ver la evolución del ejecutable. Con relación a la eficiencia, es importante que la salida de los ejecutables no sea continua, sino que se muestre dejando pasar un tiempo razonable entre mensaje y mensaje, de al menos 10 minutos.

En caso de utilizar fortran, es importante desactivar el buffering con la variable de entorno GFORTRAN_UNBUFFERED_ALL dentro del job de trabajo:

export GFORTRAN_UNBUFFERED_ALL=yes 
./ejecutable > $PBS_O_WORKDIR/$PBS_JOBID.log

Independientemente de estas redirecciones, los logs de salida se seguirán generando a partir de la información del job:

# Nombre del log de salida
#PBS -o prueba.out
# Nombre del log de error
#PBS -e prueba.err

Si deseamos que cada job genere un log distinto, basta comentar esas líneas. De este modo, PBS generará automáticamente los siguientes archivos de salida:

$PBS_JOBNAME.o$PBS_JOBID # Archivo de salida estándar
$PBS_JOBNAME.e$PBS_JOBID # Archivo de salida de error

Talleres de formación para estudiantes (2025)

Los grupos de innovación docente en Física y para la enseñanza a distancia de la Ingeniería Química, en colaboración con el CCAR, y con el patrocinio del Plan de Apoyo a la Innovación Docente de la UNED y del Máster Universitario en Física Avanzada, ofertarán durante el curso 2024/2025 la cuarta edición de talleres destinados a la obtención de competencias transversales en computación científica para estudiantes de la Facultad de Ciencias. Dirigido principalmente a estudiantes de último curso de grado y máster, y en particular a los de las siguientes asignaturas:

Grado en Física

  • Técnicas experimentales I
  • Técnicas experimentales II
  • Técnicas experimentales IV
  • Física computacional II
  • Física cuántica I
  • Trabajo fin de grado

Grado en Química

  • Proyectos en ingeniería química
  • Trabajo fin de grado

Máster en Física Avanzada/Ciencia y Tecnología Química

  • Fenómenos de transporte: técnicas de simulación en fluidos
  • Métodos cuánticos en sistemas poliatómicos
  • Introducción a la ciencia y el análisis de datos
  • Teoría de la información
  • Teoría del funcional de la densidad
  • Métodos numéricos avanzados
  • Trabajo fin de máster

Los talleres, con un marcado carácter práctico, harán una introducción de las principales herramientas de software que se se utilizan en sistemas de computación distribuida. También se utilizarán programas de ámbito científico para el tratamiento y análisis de datos. Los talleres previstos para el curso 2024/2025 son los siguientes:

  • Introducción a los sistemas de supercomputación
  • Uso, recetas y trucos de Linux
  • Matlab
  • Aprendizaje automático con Python
  • Julia
  • Paralelización con MPI
  • Gaussian
  • Simulación cuántica con Qibo/Qiskit
  • Dinámica de fluidos computacional: OpenFOAM
  • LAMMPS
  • Aspen Hysys

Con esta iniciativa, pretendemos que los estudiantes puedan adquirir los conocimientos necesarios para afrontar, con garantías de éxito, los retos que puedan plantearse en computación científica. Se trata de una formación complementaria para estudiantes que expande las posibilidades de actuación en numerosas asignaturas, lo que supone un valor añadido para las titulaciones en las que se enmarca.

Tanto en los cursos virtuales como en la web del CCAR daremos información sobre las fechas y los contenidos de los talleres.

¡Plazas limitadas!

FORMULARIO DE INSCRIPCIÓN

Paralelización con Gaussian

El CCAR tiene habilitado el software Gaussian para aquellos usuarios que cuenten con una licencia de uso. Para utilizarlo, basta cargar el módulo correspondiente:

$ module load gaussian/g16_2021

Gaussian soporta dos modos de paralelización. En ALICE se encuentra habilitado el soporte multinúcleo, que permite la ejecución en paralelo dentro de un mismo nodo de cálculo. Para ello es necesario, además de hacer la reserva de hilos desde el archivo .job (con #$ -pe smp N), indicarle a Gaussian que debe utilizar los hilos disponibles con alguna de las siguientes directivas:

  • En el archivo de entrada de Gaussian (.gjf), añadiendo la instrucción %CPU=1-N
  • Como parámetro al llamar al ejecutable, con g16 -c="1-N" ...
  • Definiendo la variable de entorno GAUSS_CDEF, añadiendo al archivo .job antes de la llamada a Gaussian export GAUSS_CDEF="1-N"

El uso de -p o $NProcShared está desaconsejado, ya que son instrucciones obsoletas que es posible que desaparezcan en futuras versiones del software. El sitio web de Gaussian dispone de más información sobre todas las opciones de ejecución disponibles.

Confiamos en que estas indicaciones sean útiles para optimizar los cálculos. Recordamos que, para no infrautilizar los recursos disponibles, es necesario que la reserva de hilos de un .job coincida con la carga de trabajo real del software.

Paralelización con R/4.3.1

El clúster ALICE tiene instalada la versión 4.3.1 de R, a disposición de todos sus usuarios. Son varios los paquetes instalados en la suite de R, disponibles utilizando el comando:

> library()

La versión instalada de R tiene soporte nativo para paralelización, tanto en el uso de álgebra lineal a través de BLAS (que utiliza las librerías MKL de Intel Oneapi) como OpenMP. El uso de rutinas de paralelización está ampliamente documentada en la documentacion de R: CRAN Task View: High-Performance and Parallel Computing with R.

Para hacer un uso eficiente de la paralelización de R, es necesario tomar medidas adicionales que no interfieran con el resto de usuarios. Los siguientes códigos de buenas prácticas permiten hacer un buen uso de R en paralelo:

  • Evitar el uso de la librería ‘parallel’, y usar en su lugar la librería ‘parallelly‘, que tiene un soporte más avanzado en las capacidades de paralelización.
  • Sustituir el uso de la función detectCores() por availableCores(), que toma el número de hilos disponibles a partir de la información del job que proporciona el gestor de colas.
  • Usar la librería RhpcBLASctl para especificar el número de hilos de computación, tanto para OpenMP como para BLAS. Esto puede conseguirse con las siguientes instrucciones:
 library('RhpcBLASctl')
 blas_set_num_threads(NCORES)
 omp_set_num_threads(NCORES)

donde NCORES es el número de hilos reservados en el trabajo.

Confiamos en que estas medidas sean útiles para mejorar la eficiencia de los cálculos en R. En cualquiera de los casos, siempre es recomendable hacer un pequeño benchmark para comprobar la combinación más eficiente de hilos que respete, en todo caso, el máximo de la reserva realizada.

Talleres de formación para estudiantes (2024)

El Grupo de Innovación Docente en Física, en colaboración con el CCAR, y con el patrocinio del Plan de Apoyo a la Innovación Docente UNED y del Máster Universitario en Física Avanzada, ofertará durante el curso 2023/2024 la tercera edición de talleres destinados a la obtención de competencias transversales en computación científica para estudiantes de la Facultad de Ciencias. Dirigido principalmente a estudiantes de último curso de grado y máster, y en particular a los de las siguientes asignaturas:

  • Grado en Física
    • Técnicas experimentales I, II y IV
    • Fundamentos de física I
    • Física cuántica I
    • Trabajo fin de grado
  • Máster en Física Avanzada
    • Fenómenos de transporte: técnicas de simulación en fluidos
    • Métodos cuánticos en sistemas poliatómicos
    • Introducción a la ciencia y el análisis de datos
    • Teoría de la información
    • Teoría del funcional de la densidad: sistemas electrónicos
    • Teoría de campos
    • Trabajo fin de máster

Los talleres, con un marcado carácter práctico, harán una introducción de las principales herramientas de software que se se utilizan en sistemas de computación distribuida. También se utilizarán programas de ámbito científico para el tratamiento y análisis de datos. Los talleres ofertados para el curso 2023/2024 son los siguientes:

  • Introducción a sistemas de supercomputación
  • Uso, recetas y trucos de la terminal y SSH
  • Matlab: métodos numéricos
  • Mathematica
  • Introducción a Julia
  • Paralelización con MPI
  • Gaussian
  • Random Phase
  • Computación cuántica con Qibo/Qiskit
  • Dispersión y absorción de luz con DDSCAT

Con esta iniciativa, pretendemos que los estudiantes puedan adquirir los conocimientos necesarios para afrontar, con garantías de éxito, los retos que puedan plantearse en computación científica. Se trata de una formación complementaria para estudiantes que expande las posibilidades de actuación en numerosas asignaturas, lo que supone un valor añadido para las titulaciones en las que se enmarca.

Tanto en los cursos virtuales como en la web del CCAR como en redes sociales daremos información sobre las fechas y los contenidos de los talleres.

¡Plazas limitadas!

FORMULARIO DE INSCRIPCIÓN

SIESTA-4.1.5 Y LAMMPS-23-JUN

Nuevas versiones de SIESTA y LAMMPS disponibles:

  • SIESTA-4.1.5-intel: Esta versión de SIESTA ha sido compilada con el compilador Intel y ofrece mejoras significativas en rendimiento y estabilidad para simulaciones. Los usuarios podrán disfrutar de tiempos de cálculo reducidos y resultados más precisos en comparación con versiones anteriores.

  • LAMMPS-23Jun-intel: La versión más reciente de LAMMPS, compilada con Intel, ofrece mejoras de rendimiento significativas mediante la optimización de algoritmos y técnicas. Los investigadores podrán realizar simulaciones más rápidas y abordar problemas más complejos.

Los usuarios pueden acceder a estas versiones utilizando los comandos:

module load lammps/23Jun22/inteloneapi_cuda12.0_fftw3.3.9_omp
module load siesta/4.1.5/intel-2023.1

Descubre las nuevas versiones de SIESTA y LAMMPS, disponibles en nodos con procesadores Intel. Estas actualizaciones ofrecen flexibilidad y opciones para adaptarse a tus necesidades de rendimiento y preferencias de compilación. Ahora podrás realizar simulaciones más eficientes y avanzadas en la estructura electrónica, dinámica molecular y cálculos científicos. ¡Aprovecha estas mejoras y adéntrate en el futuro de la investigación científica!

Para nodos con procesadores AMD se encuentran las siguientes versiones:

  • SIESTA-4.1.5-gcc: La variante compilada con GCC de SIESTA 4.1.5 proporciona una opción estándar para aquellos que prefieren utilizar el compilador GNU. Aunque ofrece funcionalidad similar, es importante tener en cuenta que el rendimiento puede ser ligeramente inferior en comparación con la versión compilada con Intel.

  • LAMMPS-23Jun-gcc: La variante compilada con GCC de LAMMPS-23Jun proporciona una opción compatible con el compilador GNU. Aunque puede ser una elección más estándar, es importante tener en cuenta que el rendimiento puede ser ligeramente inferior en comparación con la versión compilada con Intel.

Nuevos nodos de cálculo en ALICE

Gracias a los acuerdos de servicio firmados, recientemente hemos incorporado al CCAR dos nuevos nodos de cálculo con procesadores Intel Xeon Platinum de 3ª generación. En total, se han añadido 256 nuevos hilos de computación disponibles en ALICE, sumando un total de 1.300 hilos. Cada uno de estos nodos dispone de 192 GB de RAM, y discos SSD de 2 TB para el scratch de datos.

Nuevos procesadores Intel Xeon Platinum en la cola épsilon de Alice.
Talleres de formación para estudiantes (2023)

El Grupo de Innovación Docente en Física, en colaboración con el CCAR, y con el patrocinio del Plan de Apoyo a la Innovación Docente UNED, del Máster Universitario en Física de Sistemas Complejos y del Máster Universitario en Física Avanzada, ofertará durante el curso 2022/2023 una serie de talleres destinados a la obtención de competencias transversales en computación científica para estudiantes de la Facultad de Ciencias. Dirigido principalmente a estudiantes de último curso de grado y máster, y en particular a los de las siguientes asignaturas:

  • Grado en Física
    • Trabajo Fin de Grado
    • Técnicas Experimentales
  • Máster en Física Avanzada/Sistemas Complejos
    • Trabajo Fin de Máster
    • Fenómenos de transporte
    • Métodos cuánticos en sistemas poliatómicos
    • Introducción a la ciencia y el análisis de datos

Los talleres, con un marcado carácter práctico, harán una introducción de las principales herramientas de software que se se utilizan en sistemas de computación distribuida: LAMMPS, Gaussian, programación en MPI, etc. También se utilizarán programas de ámbito científico para el tratamiento y análisis de datos: gnuplot, python, shell scripting, etc. Los talleres ofertados para el curso 2022/2023 son los siguientes:

  • Introducción a sistemas de computación distribuida.
  • Visualización de datos y shell scripting.
  • Uso de MATLAB para representaciones gráficas.
  • Ciencias y análisis de datos en Python.
  • Paralelización con MPI.
  • Dinámica molecular.
  • Gaussian.
  • Random Phase.

Con esta iniciativa, pretendemos que los estudiantes puedan adquirir los conocimientos necesarios para afrontar, con garantías de éxito, los retos que puedan plantearse en computación científica. Se trata de una formación complementaria para estudiantes que expande las posibilidades de actuación en numerosas asignaturas, lo que supone un valor añadido para las titulaciones en las que se enmarca.

Tanto en los cursos virtuales como en la web del CCAR como en redes sociales daremos información sobre las fechas y los contenidos de los talleres.

¡Plazas limitadas!

FORMULARIO DE INSCRIPCIÓN

Nuevas librerías para deep neural network de NVIDIA. https://developer.nvidia.com/blog/tensor-ops-made-easier-in-cudnn/

Todos los equipos de ALICE que soportan cálculos por GPU se han actualizado a la última versión disponible del driver de NVIDIA (525.60.11). Se han instalado también dos nuevas versiones de la toolkit de CUDA (11.8 y 12.0) que están ya disponibles a través de los módulos siguientes:

module load CUDA/11.8

module load CUDA/12.0

Además, se han instalado las librerías CUDA Deep Neural Network cuDNN 8.3 de NVIDIA, integradas dentro de CUDA-11.8, quedando a disposición de todos los usuarios. Recordamos que las colas alpha, beta y dseta tienen disponibles tarjetas gráficas para cálculos científicos.