Logo

Enginyeria del Rendiment

Codi: 104341
Crèdits: 6
2026/2027
Titulació Tipus Curs
Enginyeria de Dades OB 2

Professor/a de contacte

Nom :
Juan Carlos Moure Lopez
Correu electrònic :
juancarlos.moure@uab.cat

Equip docent

Jordi Alcaraz Rodriguez
Oscar Lostes Cazorla

Idiomes dels grups

Podeu consultar aquesta informació al final del document.

Prerequisits

És molt recomanable haver cursat i aprovat les assignatures de Fonaments d'Informàtica, Fonaments de Programació i Programació Avançada.

Objectius

1. Avaluar i analitzar el rendiment de l'execució d'un programa.
2. Entendre la conversió des del llenguatge font (Python/C) a l'assemblador, identificant les transformacions en el codi.
3. Determinar les dependències de dades en els llaços d'execució dels programes i fer servir estratègies per augmentar el paral·lelisme d'instruccions i de dades.
4. Comprendre el funcionament de la jerarquia de memòria i utilitzar estratègies per augmentar la localitat d'accés a les dades.

Resultats d'aprenentatge

  1. Buscar, seleccionar i gestionar de manera responsable la informació i el coneixement.
  2. Que els estudiants hagin demostrat que comprenen i tenen coneixements en una àrea d'estudi que parteix de la base de l'educació secundària general, i se sol trobar a un nivell que, si bé es basa en llibres de text avançats, inclou també alguns aspectes que impliquen coneixements procedents de l'avantguarda d'aquell camp d'estudi.
  3. Avaluar de manera crítica el treball realitzat.
  4. Planificar i gestionar el temps i els recursos disponibles.
  5. Aplicar els principis bàsics de l'estructura i la programació dels computadors.
  6. Implementar en un llenguatge de programació problemes algorítmics de dificultat mitjana.
  7. Analitzar el rendiment d'aplicacions, detectar colls d'ampolla i aplicar possibles optimitzacions.

Continguts

1. Avaluació del Rendiment: eines per monitoritzar i instrumentar l'execució d'un programa.

2. Anàlisi del Rendiment: complexitat computacional, factors determinats per l'arquitectura del processador i mètriques de rendiment.

3. Paral·lelisme en l'execució d'Instruccions: Pipeline i Vectorització.

4. Anàlisi de Dependències de dades en els llaços d'execució.

5. Jerarquia de Memòria i Localitat d'accés a les dades: efecte en el rendiment.

6. Estratègies algorítmiques d'optimització: augmentar el paral·lelisme i la localitat d'accés a les dades.


Activitats formatives i Metodologia

Títol Hores ECTS Resultats d'aprenentatge
Preparació prèvia i documentació del treball al laboratori 40 1,6
Classes de Teoria 26 1,04
Estudi autònom 30 1,2
Optimització del Rendiment de fragments de codi 26 1,04
Resolució de problemes pràctics al laboratori 26 1,04

Teoria: s'exposaran els coneixements propis de l'assignatura. Es descriuran els conceptes bàsics i s'il·lustraran amb exemples pràctics. Es ressaltaran els problemes d'aprenentatge més importants i es mostrarà com completar i aprofundir en els continguts. Es discutiran casos pràctics i el professor detectarà els problemes de comprensió i raonament més comuns i els resoldrà per a tots els estudiants.

Problemes en Laboratori: es faran activitats cooperatives de resolució de problemes i de casos pràctics senzills, que serviran de suport a la teoria. Després d’un treball individual previ, els i les alumnes faran una posada en comú en grup i resoldran els seus dubtes. El professor detectarà els problemes de comprensió i raonament més comuns i els resoldrà per grups o per a tot l'alumnat. Es promou la capacitat d'anàlisi i síntesi, el raonament crític i la capacitat de resolució de problemes. Durant la sessió les i els alumnes hauran d'informar al professor sobre els seus avenços i els problemes que es puguin trobar, i lliuraran un document final amb els resultats i reflexions sobre les seves activitats.

Problemes d'Optimització: durant tot el curs, es proposaran exercicis per transformar petits trossos de codi perquè s'executin en menys temps. Els estudiants han d'aplicar els coneixements, metodologies i estratègies apreses i presentar el resultat argumentant les raons de les millores en el rendiment. S'espera que els estudiants siguin proactius i dinàmics, i la recerca autònoma dels coneixements necessaris.

Nota: es reservaran 15 minuts d'una classe, dins del calendari establert pel centre/titulació, perquè l'alumnat completi les enquestes d'avaluació de l'actuació del professorat i d'avaluació de l'assignatura.

Avaluació

Activitats d'avaluació continuada

Títol Pes Hores ECTS Resultats d'aprenentatge
Examen escrit individual de teoria i problemes 40% 2 0,08 3, 7
Treball en grup per resoldre problemes pràctics al laboratori + Respostes + Informes 50% 0 0 1, 4, 5, 6, 7
Prova escrita individual de reflexió sobre el treball pràctic resolt al laboratori 10% 0 0 2, 3

Les dates d'avaluació continuada i lliurament de treballs es publicaran a la plataforma Moodle de la UAB (Campus Virtual) i poden estar subjectes a canvis de programació per motius d'adaptació a possibles incidències. Sempre s'informarà a la plataforma Moodle sobre aquests canvis, ja que s'entén que és la plataforma habitual d'intercanvi d'informació entre professor i estudiants. En cas de que sigui necessari, es pot sol·licitar la reprogramació d’activitats d’avaluació seguint el protocol marcat per l'Escola.

Si el professorat té dubtes sobre l'autoria d'alguna prova d'avaluació, podrà, si ho considera oportú, realitzar una prova oral per verificar-la.

Activitats d'avaluació

Activitat A: resolució de problemes pràctics al laboratori; en grup; 50% de la nota final; nota mínima de 5 punts sobre 10; no es pot recuperar

Activitat B: examen escrit de reflexió sobre l'activitat A; individualment; 10% de la nota final; no cal nota mínima; recuperable

Activitat C: examen escrit de teoria i problemes; individualment i sense apunts; 40% de la nota final; nota mínima de 5 punts sobre 10; recuperable

A part de les activitats d'avaluació descrites anteriorment, al llarg del curs es podran proposar altres activitats de caire voluntari que podran contribuir a la nota final de l'assignatura

Programa d'activitats d'avaluació

L'activitat A es realitza durant tot el curs. Les activitats B i C, es realitzen a final de curs, en les dates especificades per la coordinació.

Procés de recuperació

L'estudiant i la estudiant es pot presentar a la recuperació sempre que s'hagi presentat a les activitats A, B i C. Es podran recuperar les activitats B i C, que representen el 50% de la nota final.

Procediment de revisió

Totes les activitats d'avaluació es podran revisar a un lloc, data i hora que es publicarà amb anterioritat. Es podran fer reclamacions sobre la nota de l'activitat, que seran avaluades pel professorat responsable de l'assignatura. Si l'estudiant no es presenta a aquesta revisió, no es revisarà posteriorment aquesta activitat.

Qualificacions

S’atorgarà una qualificació de matrícula d'honor (MH) als estudiants que assoleixin una nota de qualificació final igual o superior a 9,00, fins a un total del 5% dels estudiants matriculats, prioritzant la part de la nota que correspon a avaluacions individuals (activitats B i C).

Si l'alumne o l'alumna no assoleix la nota mínima en alguna de les activitats d'avaluació, la qualificació numèrica final serà el mínim entre 4,5 punts i la suma ponderada de les notes de totes les activitats.

Un estudiant es considerarà no avaluable (NA) si no s'ha presentat a cap de les activitats B i C.

Irregularitats per part dels estudiants, còpia i plagi

Sense perjudici d'altres mesures disciplinàries que s'estimin oportunes, es qualificaran amb un zero les irregularitats comeses per un estudiant que puguin conduir a una variació de la qualificació d'un acte d'avaluació. Per tant, la còpia, el plagi, l'engany, deixar copiar, l’ús no autoritzat de la IA (p. ex, Copilot, ChatGPT o equivalents), etc. en qualsevol de les activitats d'avaluació implicarà suspendre-la amb un zero. Les activitats d'avaluació qualificades d'aquesta forma i per aquest procediment no seran recuperables. Si és necessari superar qualsevol d'aquestes activitats d'avaluació per aprovar l'assignatura, aquesta assignatura quedarà suspesa directament, sense oportunitat de recuperar-la en el mateix curs. En cas de no superar l'assignatura degut a que l'estudiant ha comès irregularitats en un acte d'avaluació, la nota numèrica de l'expedient serà el valor menor entre 3.0 i la mitjana ponderada de les notes (i per tant no serà possible l'aprovat per compensació).

Avaluació dels estudiants repetidors

No hi ha cap tracte especial pels estudiants repetidors.

Ús de IA

En aquesta assignatura, es permet l'ús de tecnologies d'Intel·ligència Artificial (IA) com a part integrant del desenvolupament del treball, sempre que el resultat final reflecteixi una contribució significativa de l'estudiant en l'anàlisi i la reflexió personal. L'estudiant haurà d'identificar clarament quines parts han estat generades amb aquesta tecnologia, especificar les eines emprades i incloure una reflexió crítica sobre com aquestes han influït en el procés i el resultat final de l’activitat. La no transparència de l’ús de la IA es considerarà falta d'honestedat acadèmica i pot comportar una penalització en la nota de l'activitat, o sancions majors en casos de gravetat.

Avaluació Única

Aquesta assignatura no preveu el sistema d’avaluació única

Bibliografia

Computer Architecture: A Quantitative Approach. 6th Edition

Enllaç: https://bibcercador.uab.cat/permalink/34CSUC_UAB/avjcib/alma991008741339706709

John Hennessy and David Patterson, Morgan Kaufmann (Elsevier) 2019 (Cap. 1-3)


Computer Systems: A Programmer's Perspective. 3rd Edition (North-American) (https://csuc-uab.primo.exlibrisgroup.com/permalink/34CSUC_UAB/avjcib/alma991006392489706709)

Randall E. Bryant and David R. O'Hallaron, Addison Wesley, 2015 (Cap. 5 i 6)


Computer Organization and Design RISC-V Edition: The Hardware/Software Interface.

David Patterson and John Hennessy, Morgan Kauffman (Elsevier), 2017 (Cap. 4 i 5)


High Performance Python: practical performant programming for human.

Micha Gorelick and Ian Ozsvald, O’Reilly, 2014


Cython: a guide for Python programmers.

Kurt W. Smith, O’Reilly, 2015


Python High Performance programming. Boost the performance of your Python programs using advanced techniques

Gabriele Lanaro, Packt Publishing, 2013

Programari

Cap

Grups i idiomes de l'assignatura

La informació proporcionada és provisional fins al 30 de novembre. A partir d'aquesta data, podreu consultar l'idioma de cada grup a través d'aquest enllaç. Per accedir a la informació, caldrà introduir el CODI de l'assignatura

Tipus de docència Grup Idioma Semestre Torn
(PAUL) Pràctiques d'aula 1 Català/Castellà primer quadrimestre matí-mixt
(PAUL) Pràctiques d'aula 2 Català/Castellà primer quadrimestre matí-mixt
(TE) Teoria 81 Català/Castellà primer quadrimestre matí-mixt