Créditos ECTS Créditos ECTS: 6
Horas ECTS Criterios/Memorias Traballo do Alumno/a ECTS: 105 Horas de Titorías: 1 Clase Expositiva: 24 Clase Interactiva: 20 Total: 150
Linguas de uso Castelán, Galego, Inglés
Tipo: Materia Ordinaria Máster RD 1393/2007 - 822/2021
Departamentos: Electrónica e Computación, Departamento externo vinculado ás titulacións
Áreas: Arquitectura e Tecnoloxía de Computadores, Electrónica, Área externa M.U en Computación de Altas Prestacións
Centro Escola Técnica Superior de Enxeñaría
Convocatoria: Primeiro semestre
Docencia: Con docencia
Matrícula: Matriculable | (Si)
Os e as estudantes adquirirán a formación básica para analizar as arquitecturas heteroxéneas con aceleradores tales como unha GPU, como alternativa aos sistemas multi-núcleo en procesadores de propósito xeral, e quedarán capacitados/as para contrastar as súas prestacións e rendemento. Adicionalmente, desenvolverán software eficiente para estas novas plataformas a través das linguaxes que xurdiron nos últimos anos para aplicacións de propósito xeral. Así, iniciarase aos e as estudantes a algunhas das aproximacións máis estendidas para a programación de sistemas heteroxéneos. Para finalizar, familiarizaremos aos e as estudantes coas técnicas de optimización orientadas ás xeracións máis avanzadas dos sistemas heteroxéneos.
1. Estrutura de sistemas heteroxéneos CPU-GPU.
2. Introdución á programación en CUDA.
3. Técnicas de optimización.
4. Programación usando Streams.
5. Programación de sistemas heteroxéneos CPU-GPU usando OpenCL.
6. Sistemas heteroxéneos con FPGAs.
Bibliografía básica
David Kirk and Wen-mei Hwu, “Programming Massively Parallel Processors”, 3ªedition, Morgran Kauffmann, 2016.
Ryan Kastner, Janarbek Matai, and Stephen Neuendorffer. Parallel Programming for FPGAs (hlsbook.ucsd.edu).
Bibliografía complementaria
L. H. Crokett, R. Elliot and M. Ederwitz, “The Zynq Book: Embedded Processing with the ARM Cortex-A9 on the Xilinx Zynq-7000. All Programmable SoC”, Strathclyde Academic Media, 2014.
Jason Sanders, “CUDA by Example: An Introduction to General-Purpose GPU Programming, 1st Edition, AddisonWesley, 2010.
B. R. Gaster, L. Howes, D. R. Kaeli, P. Mistry, D. Schaa, “Heterogeneous Computing with OpenCL”, Morgan Kaufmann, 2013.
D. R. Kaeli, P. Mistry, Dana Schaa, and D. P. Zhang. “Heterogeneous Computing with OpenCL 2.0.” Morgan Kaufmann Publishers Inc., 2015.
O estudantado será capaz de analizar e mellorar o rendemento dunha arquitectura ou un software dado.
O estudantado terá destreza na utilización de ferramentas que permiten aproveitar ao máximo un sistema paralelo. Profundizará no coñecemento de ferramentas de programación e diferentes linguaxes no campo da computación de altas prestacións.
O estudantado será capaz de expor, modelar e resolver problemas que necesitan de técnicas de computación de altas prestacións. Analizará, deseñará, e implementará algoritmos e aplicacións paralelas eficientes.
O estudantado coñecerá as arquitecturas emerxentes no campo da supercomputación.
Competencias dá titulación que se traballan (ver memoria título):
Básicas: CB6 e CB7
Xenerais: CG1 e CG2
Transversais: CT1 e CT3
Específicas: CE2, CE4, CE5, CE8
Clases teóricas. Aos e as estudantes indicaráselles con anterioridade o material necesario que debe ler para seguir correctamente a explicación do profesorado. En clase o profesorado aclarará os aspectos máis relevantes do tema, de forma interactiva cos e coas estudantes.
Clases prácticas. Na aula de informática, realizarase aprendizaxe baseada en problemas e estudos de casos prácticos. Farase unha
introdución á aceleración de aplicacións en lóxica programable mediante síntese de alto nivel. Programaranse as GPUs con CUDA sobre o cluster do CESGA ou do GAC-UDC; e,
compararanse con outros métodos de programación como o OpenCL.
Actividades formativas de carácter presencial e a súa relación coas competencias da titulación:
Clases teóricas impartidas polo profesorado. Competencias traballadas: B6, T3
Clases prácticas de laboratorio, resolución de problemas e casos prácticas. Competencias traballadas: B7, E2, E4
Tutorías programadas orientadas á realización dos traballos individuais ou en grupo, resolución de dúbidas,... Competencias traballadas: T1
Exame. Competencias traballadas: G2, E8, E2
Actividades formativas de carácter non presencial e a súa relación coas competencias da titulación:
Traballo persoal do estudantado: consulta de bibliografía, estudo autónomo, desenvolvemento de actividades programas, preparación de presentacións e traballos. Competencias traballadas: B7, G1, G2, E4
- Realización de prácticas: 50%
- Probas periódicas e/ou exames: 20%
- Realización de traballo académicos dirixidos: 30%
Clases de encerado: 23 h presenciáis
Clases de prácticas: 19 h presenciáis + 19 h traballo individual
Actividades de avaliación: 1 h presencial
Realización de traballos académicos dirixidos: 4 h presenciáis + 80 h traballo individual
Tutorías personalizadas: 4 h presenciáis
Total: 150 h.
É recomendable ler o material asignado para cada clase de teoría antes de asistir a ela.
Os e as estudantes que presenten traballos ou realicen probas de avaliación de forma non presencial, poderáselles solicitar tamén a firma dixital dos mesmos e/ou unha declaración xurada sobre a autoría dos mesmos. A materia impartirase en: inglés e español.
David López Vilariño
Coordinador/a- Departamento
- Electrónica e Computación
- Área
- Electrónica
- Correo electrónico
- david.vilarino [at] usc.es
- Categoría
- Profesor/a: Titular de Universidade
Juan Carlos Pichel Campos
- Departamento
- Electrónica e Computación
- Área
- Arquitectura e Tecnoloxía de Computadores
- Teléfono
- 881816437
- Correo electrónico
- juancarlos.pichel [at] usc.es
- Categoría
- Profesor/a: Catedrático/a de Universidade