Máster en
Computación de Altas Prestaciones
USC UDC CESGA

Software de Base para Supercomputación



Coordinador: Diego Andrade Canosa - dcanosa (at) udc.es

Profesores de la Universidade da Coruña (UDC):
  • Gabriel Rodrí­guez Álvarez - grodriguez (at) udc.es
  • Diego Andrade Canosa - dcanosa (at) udc.es


Número de Créditos Europeos (ECTS): 3.

Carácter: Obligatorio.

Unidad Temporal: Cuatrimestre I.

Competencias y resultados del aprendizaje:

El objetivo del curso es proporcionar una destreza en la programación, la compilación y la ejecución de aplicaciones científicas en general. El curso es una introducción a herramientas y técnicas básicas necesarias para programar códigos científicos de alta calidad en entornos Unix. Los contenidos del curso se podrán aplicar a programas Java, C, C++ y Fortran.

Las principales competencias que adquirirá el alumno una vez superada la materia, y su relación con las competencias de la titulación, serán:
Competencias de la materia Relación con las competencias de la titulación
específicas básicas y generales transversales
Desarrollar código en un entorno Unix y entender las fases involucradas en este desarrollo CE3, CE4 CT3
Escribir programas usando una aproximación modular con múltiples ficheros y llamadas a librerías externas CE3, CE4, CE10 CT3
Mejorar el entorno de desarrollo y ejecución de sus aplicaciones mediante herramientas que permitan una mayor comodidad y productividad en la programación/ejecución CE3, CE4, CE10 CT2, CT3, CT6, CT7
Cuantificar y evaluar el rendimiento de sus propios códigos CE1 CB9, CB10, CG2, CG4, CG8 CT1
Obtener datos "experimentales" de sus propios códigos CE1, CE2 CB10, CG2, CG4, CG8 CT1


Requisitos previos: No se establecen.

Metodología de enseñanza-aprendizaje:

Se pretende desarrollar una materia eminentemente práctica a partir de unos conceptos teóricos básicos. Para ello en cada tema se partirá de unas clases magistrales en las que se presentan los conceptos teóricos básicos y a continuación pasar a los prácticas particularizadas para cada tema durante las cuales los alumnos profundizaran en los conceptos presentados durante la clase de teoría. Las practicas se realizaran usando los recursos computacionales del CESGA y los cluster de la USC y UDC. Finalmente los alumnos tendrán que realizar un proyecto que requiera el empleo de la mayoría de las herramientas vistas en clase.

Actividades formativas y su relación con las competencias:

Actividades formativas de carácter presencial Número de horas Relación con las competencias
Clases teóricas: impartidas por el profesor y exposición de seminarios 10 CE1, CE2, CE3, CE4, CB9, CG2, CG4, CT3
Clases prácticas de laboratorio, resolución de problemas y casos prácticos 13 CE1, CE2, CE3, CE4, CE10, CB9, CB10, CG2, CG4, CG8, CT1, CT2, CT3
Tutorías programadas: orientación para la realización de los trabajos individuales o en grupo, resolución de dudas y actividades de evaluación contínua 4 CE1, CE2, CE3, CE4, CG2, CT1
Examen
TOTAL 27
Actividades formativas de carácter no presencial
Trabajo personal del alumno: consulta de bibliografía, estudio autónomo, desarrollo de actividades programadas, preparación de presentaciones y trabajos 48 CE1, CE2, CE3, CE4, CE10, CB9, CB10, CG2, CG4, CG8, CT1, CT2, CT3, CT6, CT7
TOTAL 48
TOTAL 75


Descriptores de los contenidos:
  • Fundamentos de sistemas operativos: herramientas Unix básicas
  • Fundamentos del proceso de compilación
  • Herramientas para la construcción de software
  • Construcción y uso de librerías
  • Tratamiento códigos científicos como experimentos (ejecutar y tomar datos)
  • Pruebas y depuración de código
  • Introducción a la medida del rendimiento
  • Introducción a los lenguajes de script
  • Uso de herramientas de control de versiones