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