Compiladores para Computadores de Altas Prestaciones

Usted está aquí

Créditos
6
Tipos
Complementaria de especialidad (Computación de Altas Prestaciones)
Requisitos
Esta asignatura no tiene requisitos
Departamento
AC
Optimizing compilers play a critical role in modern computer systems ranging from mobile devices to supercomputers. Compilers can optimize for performance, power consumption and/or code size. Practically all computer scientists and engineers may benefit for a deep knowledge of compiler optimizations: programmers and application optimizers write programs that are better optimized by the compiler, computer designers design hardware features that are easy to use by compilers, and finally compiler writers develop new compiler optimizations. This course covers optimizations and aspects of the compiler back-end and middle-end such as: instruction level parallelism, memory hierarchy optimizations, data level parallelism and thread level parallelism.

Profesorado

Responsable

  • Josep Llosa Espuny ( )

Otros

  • Josep Ramon Herrero Zaragoza ( )
  • Marc Gonzàlez Tallada ( )

Horas semanales

Teoría
4
Problemas
0
Laboratorio
0
Aprendizaje dirigido
0
Aprendizaje autónomo
5

Competencias

Competencias Técnicas de cada especialidad

High performance computing

  • CEE4.2 - Capacidad de analizar, evaluar, diseñar y optimizar software considerando la arquitectura y de proponer nuevas técnicas de optimización.

Competencias Técnicas Genéricas

Genéricas

  • CG2 - Capacidad para dirigir, planificar y supervisar equipos multidisciplinares.

Competencias Transversales

Actitud frente al trabajo

  • CTR5 - Tener motivación para la realización profesional y para afrontar nuevos retos, así como una visión amplia de las posibilidades de la carrera profesional en el ámbito de la Ingeniería en Informática. Tener motivación por la calidad y la mejora continua, y actuar con rigor en el desarrollo profesional. Capacidad de adaptación a los cambios organizativos o tecnológicos. Capacidad de trabajar en situaciones de falta de información y/o con restricciones temporales y/o de recursos.

Básicas

  • CB7 - Que los estudiantes sean capaces de integrar conocimientos y enfrentarse a la complejidad de formular juicios a partir de una información que, siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios

Objetivos

  1. Know the most common machine independent optimizations.
    Competencias relacionadas: CEE4.2,
  2. Know scheduling techniques and register allocation for exploiting Instruction Level Parallelism
    Competencias relacionadas: CEE4.2,
  3. Know the most common memory locality optimizations.
    Competencias relacionadas: CEE4.2,
  4. Learn the concept and compiler techiques for exploiting Data Level Parallelism
    Competencias relacionadas: CEE4.2,
  5. Compiler techniques and tools for exploiting Thread Level Parallelism
    Competencias relacionadas: CEE4.2,
  6. Make a technical report on some advanced compiler technique
    Competencias relacionadas: CEE4.2, CB7, CTR5,
  7. Make a presentation so that the other students learn some advanced compiler technique
    Competencias relacionadas: CG2, CEE4.2, CB7, CTR5,

Contenidos

  1. Introduction
  2. Instruction Level Parallelism
  3. Memory Hierarchy Optimizations
  4. Data Level Parallelism
  5. Thread Level Parallelism

Actividades

Actividad Acto evaluativo


Introduction



Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h

Instruction Level Parallelism


Objetivos: 1 2
Contenidos:
Teoría
24h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
15h

Memory Hierarchy Optimizations


Objetivos: 3
Contenidos:
Teoría
6h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

Data Level Parallelism


Objetivos: 4
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
1h

Thread Level Parallelism


Objetivos: 5
Contenidos:
Teoría
20h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

Deliverable


Objetivos: 1 2 3 4 5 6
Semana: 10
Tipo: entrega
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
3h
Aprendizaje autónomo
20h

Presentation


Objetivos: 1 2 3 4 5 7
Semana: 14
Tipo: entrega
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
3h
Aprendizaje autónomo
20h

Metodología docente

The classes consist of lectures intermixed with practical exercises and homework. In addition, some advanced topics will be selected by the students on demand. Each student will make a presentation of his selected topic to the rest of the class.

Método de evaluación

The evaluation of this course will take into account three different items
a. A deliverable of a class assignment will account for 40% of the grade
b. The presentation in class of a related topic will account of 40% the grade
c. Attendance and participation in class will account for 20% of the grade.

Bibliografía

Básica: