Responsable: | (-) |
Altres: | (-) |
Crèdits | Dept. |
---|---|
7.5 (6.0 ECTS) | AC |
Responsable: | (-) |
Altres: | (-) |
L'alumne sera capaç de generar codi, o optimitzar codi ja existent, per adaptar-lo a les caracteristiques particulas de l'arquitectura on s'hagi d'executar, i aprofitar-ne millor els recursos disponibles.
Hores estimades de:
T | P | L | Alt | L Ext. | Est | A Ext. |
Teoria | Problemes | Laboratori | Altres activitats | Laboratori extern | Estudi | Altres hores fora d'horari fixat |
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
---|---|---|---|---|---|---|---|---|---|---|
1,0 | 0 | 7,0 | 0 | 2,0 | 4,0 | 0 | 14,0 | |||
Mesura del rendiment dels programes. Opcions de compilació. Estudi del comportament dinàmic dels programes.
|
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
---|---|---|---|---|---|---|---|---|---|---|
2,0 | 0 | 6,0 | 0 | 6,0 | 3,0 | 0 | 17,0 | |||
Alternatives a algunes operacions de cost d'execució elevat i/o llarga latència. Substitució d'operacions complexes per operacions més senzilles. Memorització de resultats. Detecció de casos trivials. Us dels recursos sistema operatiu.
|
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
---|---|---|---|---|---|---|---|---|---|---|
2,0 | 0 | 8,0 | 0 | 10,0 | 5,0 | 0 | 25,0 | |||
Predicció de salts. Detecció i eliminació de salts crítics. Inlining. Desenrollat de bucles.
|
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
---|---|---|---|---|---|---|---|---|---|---|
2,0 | 0 | 12,0 | 0 | 12,0 | 4,0 | 0 | 30,0 | |||
Tamany i alineació de dades. Divisió de les dades en blocs de tamany proporcional a la memoria cache. Desambiguació de memòria.
|
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
---|---|---|---|---|---|---|---|---|---|---|
2,0 | 0 | 8,0 | 0 | 8,0 | 3,0 | 0 | 21,0 | |||
Instruccions del llenguatge màquina. Inserció de codi vectorial en codi C.
|
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
---|---|---|---|---|---|---|---|---|---|---|
1,0 | 0 | 8,0 | 0 | 16,0 | 0 | 0 | 25,0 | |||
|
|
T | P | L | Alt | L Ext. | Est | A Ext. | Total | ||
---|---|---|---|---|---|---|---|---|---|---|
1,0 | 0 | 4,0 | 0 | 4,0 | 3,0 | 0 | 12,0 | |||
Utilització de més d'un thread per aprofitar els actuals processadors "multicore", però també aprofitar millor un únic core en alguns casos.
|
Total per tipus | T | P | L | Alt | L Ext. | Est | A Ext. | Total |
12,0 | 0 | 53,0 | 0 | 58,0 | 22,0 | 0 | 145,0 | |
Hores addicionals dedicades a l'avaluació | 0 | |||||||
Total hores de treball per l'estudiant | 145,0 |
L'assignatura te una vessant majorment pràctica, recolzada sobre una base teòrica.
La base teòrica es desenvolupara en classes de discusió entre el professor i els alumnes. El professor proporcionarà referencies bibliogràfiques i documentació sobre el tema a discutir, que haurà de ser treballat pels alumnes fora d'hores de classe. Aquest material serà discutit en la següent sessió de teoria.
La vessant pràctica de l'assignatura es desenvoluparà als laboratoris docents, mitjançant la realització d'un seguit de pràctiques tutelades. La realització d'aquestes pràctiques es farà íntegrament en les hores de laboratori assignades.
Les pràctiques es dividiran en dos grups: experiments d'abast limitat per il.lustrar aplicacions i optimitzacions determinades, i altres en que caldrà aplicar tots els coneixements adquirits per optimitzar una aplicació complerta.
Per facilitar que els alumnes puguin comparar les seves solucions amb les de la resta d'alumnes de l'assignatura, l'assignatura ofereix un portal web on els alumnes podran enviar la solució de determinats exercicis de l'assignatura.
El portal s'encarregarà d'executar els programes, comprovar la seva correctesa i d'ordenar els programes presentats pels alumnes considerant el temps d'execució.
L'avaluació d'aquesta assignatura té 5 components:
- Al llarg del curs es proposaran una sèrie d'exercicis que els alumnes hauran de resoldre.
La solució d'alguns d'aquests exercicis serà un programa escrit en C que haurà de ser enviat a un portal web; es considerarà que l'alumne ha realitzat satisfactòriament l'exercici si, abans de la data límit establerta, ha enviat una solució correcta que tingui un temps d'execució inferior a un llindar establert pel professor.
La solució dels altres exercicis serà un informe breu (entre 1 i 3 pàgines) que haurà de ser entregat al professor; ell avaluarà si l'informe és satisfactori.
La realització satisfactòria d'un mínim del 75% dels exercicis proposats serà condició necessària per poder aprovar l'assignatura sense haver de presentar-se a l'examen final.
Aquests entregables contribueixen amb un factor de seguiment (fs) a la nota final d'examens, depenent del % de exercicis entregats satisfactoriament i de l'avualació/supervisió que faci el/la professor/a de TOTS el exercicis que s'han de solucionar del laboratori de cada tema.
Així, fs = max (0.8*((exercicis aceptats/total) - 0.75),0) + 1.0 , amb les correccions oportunes depenent de l'avaluacio/supervisió que el/la professor/a faci de TOTS el exercicis del document de laboratori (normalment al mateix laboratori). Aquestes correccions mai faran que el fs sigui més petit que 1.0.
- Fm: qüestionaris (F1 (35% de Fm) i F2 (65% de Fm)). Al llarg del curs els alumnes hauran de respondre 2 qüestionaris a les hores de teoria. El seu objectiu és avaluar si l'alumne/a ha aconseguit assimilar les optimitzacions de codi explicades fins el moment.
- En : Entrega d'una memòria de la pràctica final. La pràctica final serà un codi que els/les alumnes han d'optimitzar aplicant les tècniques apreses durant el curs.
- Final : Examen final on es preguntaran casos pràctics i teòrics.
- Challenge : A més a més, es proposarà un exercici a entregar mitjançant el portal on es premiaran les solucions més ràpides. Els alumnes que presentin les 10 solucions més ràpides veuran incrementada la seva nota final en 1 punt (solució més ràpida), 0.9 punts (segona solució més ràpida),... i 0.1 punts (desena solució més ràpida) respectivament.
Sent Fm = (0.35*F1+0.65*F2) , fs el factor de seguiment.
L'assignatura es pot aprovar de dues formes:
Si Fm >= 5 i >=75% exercicis lliurats satisfactòriament:
NEx = MAX(Fm, Final)
altrament:
NEx = Final
Amb el que la Nota Final és:
Nota Final = MIN(0.60 * NEx * fs + 0.40 * En + Challenge, 10)
És a dir, l'assignatura es pot aprovar sense haver de realitzar l'examen final. En qualsevol cas, el treball fet durant el curs al laboratori pot ajudar a millorar la nota amb el factor de seguiment.
Coneixements d'arquitectura de computadors: jerarquies de memòria i llenguatge màquina. (Assignatures EC1 i EC2)
Coneixements de programació en C. (EC1 i EC2)
Coneixements de UNIX a nivell d'usuari. (SO)