Pasar al contenido principal

Compiladores para Computadores de Altas Prestaciones

Créditos
6
Tipos
Complementaria de especialidad (Computación de Altas Prestaciones)
Requisitos
Esta asignatura no tiene requisitos , pero tiene capacidades previas
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

Otros

Horas semanales

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

Competencias

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.
  • Genéricas

  • CG2 - Capacidad para dirigir, planificar y supervisar equipos multidisciplinares.
  • 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
    Teoría
    0h
    Problemas
    0h
    Laboratorio
    0h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    0h

    Presentation


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

    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ásico