Última actualización: 15/07/2023


Curso Académico: 2023/2024

Computación de Altas Prestaciones para la Ciencia de Datos
(19377)
Máster Universitario en Estadística para la Ciencia de Datos (Plan: 386 - Estudio: 345)
Escuela de Ingeniería y Ciencias Básicas


Coordinador/a: UCAR MARQUES, IÑAKI

Departamento asignado a la asignatura: Departamento de Estadística

Tipo: Optativa
Créditos: 3.0 ECTS

Curso:
Cuatrimestre:




Requisitos (Asignaturas o materias cuyo conocimiento se presupone)
Programación en R Programación Avanzada
Objetivos
- Conocimiento de los principios generales de la computación de altas prestaciones. - Conocimiento de estrategias y herramientas de automatización y scripting. - Capacidad de seleccionar las herramientas adecuadas para la medición y el profiling de programas. - Capacidad de conectar código de R con librerías externas en C/C++ a través de Rcpp. - Capacidad de paralelizar código de R y compilado. - Capacidad de producir entornos de ejecución reproducibles. - Capacidad de enviar flujos de trabajo a la nube.
Competencias y resultados del aprendizaje
Descripción de contenidos: Programa
1. El camino hacia la computación de altas prestaciones   1.1. Visión general de la HPC   1.2. Herramientas de automatización y scripting   1.3. Herramientas para la medición y profiling 2. Cómo hacer que tu código se ejecute más rápido: a hombros de gigantes   2.1. Motivación y conceptos principales   2.2. Conectando bibliotecas externas de C/C++ a través de Rcpp   2.3. Uso eficiente de motores de álgebra lineal   2.4. Conectando con otros lenguajes y bibliotecas   2.5. Casos de uso en estadística 3. Ejecutar varias cosas a la vez: programación paralela   3.1. Motivación y conceptos principales   3.2. Paralelismo de bajo nivel: OpenMP, RcppParallel   3.3. Paralelismo de alto nivel: el paquete future   3.4. Casos de uso en estadística 4. Utilización de más recursos: trabajar en la nube y más allá   4.1. Motivación y conceptos principales   4.2. Containerización: entornos de ejecución reproducibles   4.3. Escalando R en la nube con googleComputeEngineR   4.4. Casos de uso en estadística El programa está sujeto a modificaciones menores debido al desarrollo del curso y/o al calendario académico.
Actividades formativas, metodología a utilizar y régimen de tutorías
* Actividades formativas   - AF1: Clase teórica.   - AF2: Clase práctica.   - AF5: Tutorías.   - AF6: Trabajo en grupo.   - AF7: Trabajo individual.   - AF8: Pruebas de evaluación presenciales. * Metodologías docentes   - MD1: Exposiciones en clase del profesor con soporte de medios informáticos y audiovisuales, en las que se desarrollan los conceptos principales de la materia y se proporciona la bibliografía para complementar el aprendizaje de los alumnos.   - MD3: Resolución de casos prácticos, problemas, etc. planteados por el profesor de manera individual o en grupo.   - MD5: Elaboración de trabajos e informes de manera individual o en grupo.
Sistema de evaluación
  • Peso porcentual del Examen Final 0
  • Peso porcentual del resto de la evaluación 100
Calendario de Evaluación Continua
Bibliografía básica
  • Chambers, J. M.. Software for Data Analysis Programming with R. Springer. 2009
  • Chambers, J. M.. Extending R. Chapman and Hall/CRC. 2017
Bibliografía complementaria
  • Chapple, S., Troup, E., Forster, T. y Sloan, T.. Mastering Parallel Programming with R. Packt Publishing. 2016
  • Eddelbuettel, D.. Seamless R and C++ integration with Rcpp. Springer. 2013
  • McCallum, Q. E. y Weston, S.. Parallel R. O'Reilly Media. 2012

El programa de la asignatura podría sufrir alguna variación por causa de fuerza mayor debidamente justificada o por eventos académicos comunicados con antelación.