P4091201 - Computación Científica en Arquitecturas Emerxentes (Módulo Optativo) - 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: Electrónica e Computación, Departamento Externo
- Áreas: Arquitectura e Tecnoloxía de Computadores, Área Externa para o postgrao oficial
- Centro: Escola Técnica Superior de Enxeñaría
- Convocatoria: 2º 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 materiaNeste curso proponse unha introdución ás diversas arquitecturas emerxentes que están a xurdir como resposta a unha demanda de computación intensiva á que non responde as arquitecturas convencionais (procesadores mononúcleo e procesadores multinúcleos homoxéneos). Na primeira parte da materia se xustifica o crecente interese na explotación de arquitecturas emerxentes como plataformas alternativas para a computación científica. En concreto centrarémonos en dúas das arquitecturas con maior impacto para computación de propósito xeral, as GPUs (Graphics Processing Unit) e as FPGAs (Field-Programmable Gate Array). Na segunda parte do temario, estudarase a arquitectura das GPUs. Ademais, presentaranse as principais linguaxes de programación das GPUs enfocadas á computación xeral. Tamén se presentarán os problemas da programación desta arquitectura e as técnicas de optimización para solucionalos. Na última parte do temario abordarase o estudo das FPGAs, tanto a súa estrutura como a súa programación.
Contidos1 Introdución
1.1 A crise do hardware
1.2 Arquitecturas emerxentes:
- Multinúcleos heteroxéneos.
- FPGAs
- GPU (Graphics Processing Unit)
2 Arquitectura da GPU
2.1 Introdución. Xeracións da GPU
2.2 Estrutura da GPU
2.3 Arquitectura das GPU de Nvidia
2.4 Arquitectura Streaming de AMD
3 Programación da GPU para propósito xeral
3.1 Introdución.
3.2 Modelo de programación
3.3 Linguaxes de programación para propósito xeral:
- Brook+ de ATI
- CUDA de Nvidia
- OpenCL
4 Técnicas de optimización
4.1 Utilización de instrucións intrínsecas
4.2 Optimización do uso da memoria da GPU
4.3 Minimización da transferencia CPU-GPU
4.4 Planificación de tarefas
5 FPGAs
5.1 Dispositivos configurables
5.2 Estrutura das FPGAS
5.3 Metodoloxía de deseño e prototipado.
Bibliografía básica e complementariaBibliografía básica:
-D. B. Kirk and W.-M. Hwu, Programming Massively Parallel Processors: A Hands-on Approach, Morgan Kaufmann, 2010.
-P. J. Ashenden, The Designer's guide to VHDL, Morgan Kaufmann, 2002.
-T. Akenine-Möller and E. Haines, Real-Time Rendering, A. K. Peters, 2008.
Bibliografía complementaria:
-D. C. Black, J. Donovan, B. Bunton and A. Keist, SystemC: From the Ground Up, Springer, 2004.
-W.-M. Hwu, GPU Computing Gems, Morgan Kaufmann, 2011.
Competencias- Definir, avaliar e seleccionar a arquitectura e o software máis adecuado para a execución dun problema científico
- Avaliar a eficiencia de diferentes implementacións.
- Coñecemento das tecnoloxías, que capaciten para a aprendizaxe e desenvolvemento de novas propostas, así como a capacidade para afrontarse a outras arquitecturas emerxentes
- Capacidade para resolver problemas con iniciativa, toma de decisións, autonomía e creatividade.
- Capacidade para saber comunicar e transmitir os coñecementos
Metodoloxía da ensinanza Sesión maxistral
Exposición oral complementada co uso de medios audiovisuais e a introdución de fases de debate cos estudantes. Todo iso coa finalidade de transmitir coñecementos e facilitar a aprendizaxe. Realizaranse sesións maxistrais sobre gran parte dos contidos do temario, normalmente como punto de partida para o resto de actividades previstas para cada punto.
Prácticas de laboratorio
Actividade que permite aos estudantes aprender e afianzar os coñecementos xa adquiridos mediante a realización de sesións prácticas en computadores. As prácticas faranse utilizando tarxetas gráficas e linguaxes de programación de última xeración. Os alumnos traballarán individualmente na súa realización.
Traballos: Actividade que permite aos alumnos estudar en maior profundidade unha aplicación específica directamente relacionada con algún dos contidos da materia. Unha vez desenvolvido terá que entregar un informe sobre o mesmo.
Atención personalizada
A atención personalizada na realización dos traballos tutelados e as prácticas de laboratorio é imprescindible para dirixir a cada grupo de alumnos no desenvolvemento do traballo que lles foi asignado. Ademais, esta atención servirá para validar e avaliar o traballo que vai sendo realizado polos alumnos nas súas distintas fases de desenvolvemento ata chegar á súa finalización.
Sistema de evaluaciónSesiones magistrales e prácticas de laboratorio: É obrigatoria a asistencia as clases e a realización das prácticas de laboratorio estipuladas nos boletíns (40% da nota)
Traballos: Realización de traballos propostos polo profesor para profundar nalgún aspecto da materia (60% da nota)
Tempo de estudo e traballo persoalClases maxistrais: 7 horas presenciais e 12 de estudo autónomo por parte do alumno.
Prácticas de laboratorio: 15 horas presenciais e 15 de traballo persoal do alumno para a realización de prácticas e outros traballos de computador.
Traballos: 24 horas para a preparación e presentación.
Atención personalizada: 2 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.
ObservaciónsEsta materia impártese en castelán.