Arquitectures Avançades [102778]
Moure, Juan C
Senar Rosell, Miquel Àngel
Universitat Autònoma de Barcelona. Escola d'Enginyeria

Título variante: Advanced Computer Architectures
Título variante: Arquitecturas Avanzadas
Fecha: 2021-22
Resumen: L'objectiu fonamental de l'assignatura és que els alumnes adquireixin les capacitats d'anàlisi, utilització i avaluació d'arquitectures avançades de computadors, per al desenvolupament d'aplicacions i serveis informàtics. Els conceptes bàsics que es descriuran a les sessions teòriques són: el processador multi-nucli, el sistema multi-processador de memòria compartida, els acceleradors de còmput, l'avaluació de rendiment i prestacions, i els models i llenguatges de programació d'aquests sistemes paral·lels. Els objectius més específics són els següents: 1. Entendre les claus per obtenir bon rendiment de computadors multi-nucli i multi-processador, i d'acceleradors de còmput (GPUs) 2. Identificar les oportunitats de paral·lelització a un algorisme o aplicació, a diferents nivells (instruccions, iteracions d'un bucle, crides a funcions. . . ), i expressar-ho formalment 3. Dissenyar les estructures de dades d'una aplicació i els algorismes que hi accedeixen per tal d'afavorir el bon rendiment de la jerarquia de memòria 4. Analitzar, dissenyar i implantar algorismes paral·lels amb patrons de còmput abstractes (reducció, transformació. . . ) sota paradigmes de programació basats en variables compartides i sincronització, i amb llenguatges paral·lels actuals, com OpenMP i OpenACC. 1 5. Verificar la funcionalitat i avaluar el rendiment d'aplicacions paral·leles, identificant els colls d'ampolla respecte al rendiment 6. A partir de l'anàlisi de rendiment, seleccionar el computador adequat a una aplicació i/o realitzar optimitzacions del codi que millorin encara més el seu rendiment.
Resumen: The fundamental objective of the subject is that students acquire the capabilities of analysis, use and evaluation of advanced computer architectures, for the development of applications and computer services. The basic concepts that will be described in the theoretical sessions are: the multi-core processor, the shared memory multi-processor system, the computer accelerators, performance evaluation, and the programming languages and models of these parallel systems. The most specific objectives are the following: 1. Understand the keys to obtain good performance from multi-core and multi-processor computers, and from computer accelerators (GPUs) 2. Identify the opportunities for parallelization in an algorithm or application, at different levels (instructions, iterations of a loop, calls to functions . . . ), and express it formally 3. Design the data structures of an application and the algorithms that access these data to favor the good performance of the memory hierarchy 4. Analyze, design and implement parallel algorithms with abstract computation patterns (reduction, transformation . . . ) under programming paradigms based on shared variables and synchronization; and with current parallel languages, such as OpenMP and OpenACC. 5. Verify the functionality and evaluate the performance of parallel applications, identifying bottlenecks with 1 5. Verify the functionality and evaluate the performance of parallel applications, identifying bottlenecks with respect to performance 6. From performance analysis, select the right computer to an application and / or perform code optimizations that further improve its performance.
Resumen: El objetivo fundamental de la asignatura es que los alumnos adquieran las capacidades de análisis, utilización y evaluación de arquitecturas avanzadas de computadores, para el desarrollo de aplicaciones y servicios informáticos. Los conceptos básicos que se describirán en las sesiones teóricas son: el procesador multi-núcleo, el sistema multi-procesador de memoria compartida, los aceleradores de cómputo, la evaluación de rendimiento y prestaciones, y los modelos y lenguajes de programación de estos sistemas paralelos. Los objetivos más específicos son los siguientes: 1. Entender las claves para obtener buen rendimiento de computadores multi-núcleo y multi-procesador, y de aceleradores de cómputo (GPUs) 2. Identificar las oportunidades de paralelización en un algoritmo o aplicación, a diferentes niveles (instrucciones, iteraciones de un bucle, llamadas a funciones. . . ), y expresarlo formalmente 3. Diseñar las estructuras de datos de una aplicación y los algoritmos que acceden a estos datos para favorecer el buen rendimiento de la jerarquía de memoria 1 4. Analizar, diseñar e implantar algoritmos paralelos con patrones abstractos de cómputo (reducción, transformación. . . ) bajo paradigmas de programación basados en variables compartidas y sincronización; y con lenguajes paralelos actuales, como OpenMP y OpenACC. 5. Verificar la funcionalidad y evaluar el rendimiento de aplicaciones paralelas, identificando los cuellos de botella respecto al rendimiento 6. A partir del análisis de rendimiento, seleccionar el computador adecuado a una aplicación y/o realizar optimizaciones del código que mejoren aún más su rendimiento.
Derechos: Aquest document està subjecte a una llicència d'ús Creative Commons. Es permet la reproducció total o parcial, la distribució, la comunicació pública de l'obra i la creació d'obres derivades, fins i tot amb finalitats comercials, sempre i quan es reconegui l'autoria de l'obra original. Creative Commons
Lengua: Català, anglès, castellà
Titulación: Grau en Enginyeria Informàtica [2502441]
Plan de estudios: Grau en Enginyeria Informàtica (Menció en Enginyeria de Computadors) i Grau en Enginyeria Electrònica de Telecomunicació [1206] ; Grau en Enginyeria Informàtica (Menció en Tecnologies de la Informació) i Grau en Enginyeria de Sistemes de Telecomunicació [1207] ; Enginyeria Informàtica [958]
Documento: Objecte d'aprenentatge



Català
6 p, 110.8 KB

Anglès
6 p, 110.1 KB

Castellà
6 p, 111.3 KB

El registro aparece en las colecciones:
Materiales académicos > Guías docentes

 Registro creado el 2021-07-09, última modificación el 2023-07-22



   Favorit i Compartir