ProgramacióConscientde l´Arquitectura(PCA)docencia.ac.upc.edu/jododac/CD10anys/2004/pca.pdf ·...
Transcript of ProgramacióConscientde l´Arquitectura(PCA)docencia.ac.upc.edu/jododac/CD10anys/2004/pca.pdf ·...
Jododac 2004
Programació Conscient de l´Arquitectura (PCA)
Agustín FernándezDaniel JiménezJosep Lluís LarribaEnric MoranchoÀlex Ramírez
Jododac 2004
Dades Generals PCA
� Optativa per ETS y EI� Perfils on pertany:
� Arquitectures i Computació d´Alt Rendiment
� Tècniques Avançades de Programació ?
� Fonaments de la Computació ?
� 7.5 crèdits (5 hores/setmana)
Jododac 2004
Objectius generals� L’alumne serà capaç de:
� Identificar quins fragments d'un programa no s'executen eficientment sobre els computadors actuals
� Escriure/Modificar programes de forma que facin un ús més eficient dels computadors actuals
� Utilitzar les eines que ajuden a desenvolupar programes que s'executin eficientment
Jododac 2004
Organització proposada
� 7.5 crèdits (5 hores/setmana)� Teoria: 1.5 crèdits� Laboratori: 6 crèdits
Jododac 2004
Metodologia: Teoria
� Bibliografia per cada classe de teoria� Fragments manuals optimització� Fragments llibres� ...
� Estudi previ per part dels alumnes� Discussió a classe
Jododac 2004
Metodologia: Laboratori� Feina a realitzar en hores de laboratori� Dos tipus de pràctiques:
� “Guiades”: Provar un conjunt reduït de tècniques sobre petits programes d´exemple• Compilar codi amb O0 i O3, comparar temps• Veure l´efecte de fer unrolling a mà
� “Lliures”: Aplicar lliurement les tècniquessobre un problema real• Implementar llista doblement encadenada• Optimitzar un codi font
Jododac 2004
Plataforma de treball
� La FIB ofereix Pentium III/4� Eines? (compilador, profiler,...)•Windows: la majoria són de pagament
• Pressupost de icc+vtune (Intel): 3.000€ (aprox)
• Linux: lliures (gcc, gprof,...) i icc+vtune
� La FIB també ofereix UltraSparcIII� Quant de temps la mantindran?
� Accés a POWER4 del CIRI?
Jododac 2004
Temari (1/2)� Introducció
� Quan val la pena?, Estratègia,…� Eines
� Preprocessador, Compilador, Profiler, Altres (strace, ltrace, objdump,…)
� Programació Conscient de:� Salts
• Detecció salts crítics, Inlining, Evitar salts,…
� Bucles• Unrolling, Software pipelining, fusió/separacióbucles, condicions dels bucles, …
Jododac 2004
Temari (2/2)� Memòria
• Blocking, Prefetching, Ubicació estructures de dades,…
� Operacions lentes• Memorització resultats, crides al sistema, rutines massa genèriques,…
� Coma flotant• Ús dels tipus adequats, aproximacions a funcions,…
� SIMD• Vectorització,…
� Multis??
Jododac 2004
Avaluació
� Laboratori� Entrega pràctiques “Lliures”
� Sense examen final
Jododac 2004
Programació Conscient de l´Arquitectura (PCA)
Agustín FernándezDaniel JiménezJosep Lluís LarribaEnric MoranchoÀlex Ramírez