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