P4091105 - Software de Base para Supercomputación (Módulo Obrigatorio) - Curso 2013/2014
Información
- Créditos ECTS
- Créditos ECTS: 3.00
- Total: 3.0
- Horas ECTS
- Clase Expositiva: 9.00
- Clase Interactiva Laboratorio: 12.00
- Horas de Titorías: 3.00
- Total: 24.0
Outros Datos
- Tipo: Materia Ordinaria Máster RD 1393/2007
- Departamentos: Departamento Externo
- Áreas: Área Externa para o postgrao oficial
- Centro: Escola Técnica Superior de Enxeñaría
- Convocatoria: 1º Semestre de Titulacións de Grao/Máster
- Docencia e Matrícula: Primeiro Curso (1º 1ª vez)
Profesores
Horarios
Programa
Existen programas da materia para os seguintes idiomas:
CastelánGalegoObxectivos da materiaO obxectivo do curso é proporcionar destrezas na programación, a compilación e a execución de aplicacións científicas en xeral. O
curso é unha introdución a ferramentas e técnicas básicas necesarias para programar códigos científicos de alta calidade en contornos Unix. Os contidos do curso poderanse aplicar a programas Xava, C, C++ e Fortran.
Contidos1. Introdución
a. Linguaxes de programación en HPC
b. Ciclo de vida no desenvolvemento de programas
2. Introdución ao sistema operativo Unix
3. Ferramentas de desenvolvemento software
a. Contornos de desenvolvemento
b. Xestión de versións
c. Depuración de programas
d. Xeración de documentación
4. Compilación/linkado de programas
a. Descrición do proceso de compilación/linkado
b. Compiladores C e Fortran
c. Descrición e uso das opcións de compilación
d. Definición e uso das opcións de optimización
e. Chamadas a subrutinas Fortran dende C e viceversa
5. Execución de programas
a. Sistemas de colas
b. Programación de scripts.
c. Análise de rendemento
6. Construción de software
a. Ficheiros make para a construción de software
b. Librarías: creación e manipulación de librarías propias
c. Documentación de usuario: man e info
d. Empaquetadores
Contidos prácticos:
• Resolución de boletíns de exercicios relacionados cos tópicos estudados en clase.
• Realización de prácticas semi-dirixidas polo profesor
• Realización dun proxecto proposto polo profesor: utilización e/ou construción de software para a resolución dun problema complexo que involucre a maioría dos contidos teóricos.
Bibliografía básica e complementaria-A. Robbins, Unix in a Nutshell, O'Reilly, 2000.
-R. Mecklenburg, Managing project with GNU Make, O'Reilly, 2004.
-R. Stevens, Advanced Programming in the Unix Environment., Addison-Wesley, 1992.
Competencias- Desenvolver código nun entorno Unix e entender as fases involucradas neste desenvolvemento
- Escribir programas usando unha aproximación modular con múltiples ficheiros e chamadas a librarías externas
- Mellorar o entorno de desenvolvemento e execución das súas aplicacións mediante ferramentas que permitan unha maior comodidade e produtividade na programación/execución
- Cuantificar e avaliar o rendemento dos seus propios códigos
- Obter datos “experimentais” dos seus propios códigos
Metodoloxía da ensinanza Seminario
Técnica de traballo en grupo que ten como finalidade o estudo intensivo dunha ferramenta ou conxunto de ferramentas determinados, desde unha perspectiva prácticas. Utilízanse como plataforma previa á utilización de dicha(s) ferramenta(s) nas clases prácticas, por iso caracterízanse pola practicidad dos coñecementos adquiridos.
Prácticas de laboratorio
Actividade que permite aos estudantes aprender e afianzar os coñecementos xa adquiridos sobre as diferentes ferramentas nos seminarios mediante a realización de sesións prácticas en computadores.
Sesión maxistral
Exposición oral complementada co uso de medios audiovisuais e a introdución de fases de debate cos estudantes. O obxectivo é presentar aos estudantes unha perspectiva xeral das ferramentas que se van a empregar no resto da materia, así como do contexto e as finalidades para as que se utilizan.
Atención personalizada
A atención personalizada na realización das prácticas de laboratorio antóllase imprescindible para dirixir os alumnos no uso das diferentes ferramentas. Ademais, esta atención servirá para validar e avaliar a destreza adquirida por cada alumno no uso das diferentes ferramentas tratadas na materia.
Sistema de evaluaciónSeminario: Seguimento continuado e objetivable dunha participación activa (30% da nota)
Prácticas de laboratorio: Realización de prácticas (70% da nota)
Tempo de estudo e traballo persoalClases maxistrais: 7 horas presenciais e 7 de estudo autónomo por parte do alumno.
Prácticas de laboratorio: 14 horas presenciais e 14 de traballo persoal do alumno para a realización de prácticas e outros traballos de computador.
Seminarios: 30 horas de traballo persoal do alumno.
Atención personalizada: 3 horas presenciais.
Recomendacións para o estudo da materiaDebido á forte interrelación entre a parte teórica e a parte práctica, e á progresividade na presentación de conceptos moi relacionados entre si na parte teórica, é recomendable dedicar un tempo de estudo ou repaso diario.