Vés al contingut

Compiladors per Computadors d'Altes Prestacions

Crèdits
6
Tipus
Complementària d'especialitat (Computació d'Altes Prestacions)
Requisits
Aquesta assignatura no té requisits , però té capacitats prèvies
Departament
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.

Professorat

Responsable

  • Josep Llosa Espuny (josepll@ac.upc.edu)

Altres

  • Marc Gonzàlez Tallada (marc@ac.upc.edu)

Hores setmanals

Teoria
4
Problemes
0
Laboratori
0
Aprenentatge dirigit
0
Aprenentatge autònom
5

Competències

Computació d'altes prestacions

  • CEE4.2 - Capacitat d'analitzar, avaluar, dissenyar i optimitzar programari considerant l'arquitectura i de proposar noves tècniques d'optimització.
  • Genèriques

  • CG2 - Capacitat per a dirigir, planificar i supervisar equips multidisciplinaris.
  • Actitud adequada davant el treball

  • CTR5 - Tenir motivació per a la realització professional i per a afrontar nous reptes, tenir una visió àmplia de les possibilitats de la carrera professional en l'àmbit de l'enginyeria en informàtica. Sentir-se motivat per la qualitat i la millora contínua, i actuar amb rigor en el desenvolupament professional. Capacitat d'adaptació als canvis organitzatius o tecnològics. Capacitat de treballar en situacions de carència d'informació i/o amb restriccions temporals i/o de recursos.
  • Bàsiques

  • CB7 - Que els estudiants siguin capaços d'integrar coneixements i enfrontar-se a la complexitat de formular judicis a partir d'una informació que, essent incomplerta o limitada, inclogui reflexions sobre les responsabilitats socials i ètiques vinculades a l'aplicació dels seus coneixements i judicis.
  • Objectius

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

    Continguts

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

    Activitats

    Activitat Acte avaluatiu


    Introduction



    Continguts:
    Teoria
    2h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Instruction Level Parallelism


    Objectius: 1 2
    Continguts:
    Teoria
    24h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    15h

    Memory Hierarchy Optimizations


    Objectius: 3
    Continguts:
    Teoria
    6h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    4h

    Data Level Parallelism


    Objectius: 4
    Continguts:
    Teoria
    2h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    1h

    Thread Level Parallelism


    Objectius: 5
    Continguts:
    Teoria
    20h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    12h

    Deliverable


    Objectius: 1 2 3 4 5 6
    Setmana: 10
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Presentation


    Objectius: 1 2 3 4 5 7
    Setmana: 14
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Metodologia docent

    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ètode d'avaluació

    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.

    Bibliografia

    Bàsic