9600-1014/01 – Analýza a optimalizace C/C++ aplikací (AOA)
Garantující katedra | IT4Innovations | Kredity | 4 |
Garant předmětu | Ing. Ada Böhm, Ph.D. | Garant verze předmětu | Ing. Marta Jarošová, Ph.D. |
Úroveň studia | pregraduální nebo graduální | Povinnost | volitelný odborný |
Ročník | | Semestr | letní |
| | Jazyk výuky | čeština |
Rok zavedení | 2016/2017 | Rok zrušení | 2023/2024 |
Určeno pro fakulty | FEI, USP | Určeno pro typy studia | navazující magisterské |
Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi
Po absolvování předmětu bude student schopen:
- Analyzovat C/C++ programy, nalézt příčinu chyb nebo výkonnostních problémů
- Navrhnout vhodné optimalizace pro výpočetní programy
- Aktivně využívat existující nástroje pro debugování a profilování sekvenčních i paralelních aplikací
Vyučovací metody
Přednášky
Cvičení (v učebně)
Anotace
Povinná literatura:
1. Steve McConnell, Code Complete: A Practical Handbook of Software Construction, Microsoft Press, Redmond, WA, 2 edition, (2004)
Doporučená literatura:
1. Intel® 64 and IA-32 Architectures Optimization Reference Manual, http://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-optimization-manual.html
2. Software Optimization Guide for AMD Family 16h Processors, AMD,
http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2012/10/SOG_16h_52128_PUB_Rev1_1.pdf
Další studijní materiály
Forma způsobu ověření studijních výsledků a další požadavky na studenta
vypracovaní projektu
E-learning
Další požadavky na studenta
Na studenta nejsou kladeny žádné další požadavky.
Prerekvizity
Předmět nemá žádné prerekvizity.
Korekvizity
Předmět nemá žádné korekvizity.
Osnova předmětu
1. Debugovaní sekvenčních aplikací (použití interaktivní a neinteraktivní ladících nástrojů, postupy při špatně nalezitelných chybách)
2. Profilování sekvenčních aplikací (použití profilovacích nástrojů, analýza výkonnostních problémů)
3. Optimalizace sekvenčních aplikací (analýza výkonu základních programových konstrukcí, přehled optimalizací prováděných překladačem, optimalizace přístupu do paměti, speciální instrukční sady)
4. Debugování paralelních aplikací (použití ladících nástrojů v paralelním prostředí, postupy při špatně nalezitelných chybách)
5. Profilování a tracování paralelních aplikací (použití profilovacích a tracovacích nástrojů v prostředí MPI a vláken, analýza výkonnostních problémů při paralelním zpracování)
6. Optimalizace paralelních aplikací (analýza výkonu paralelních programových konstrukcí, optimalizační techniky v programech s MPI a vlákny, bezzamkové struktury)
Podmínky absolvování předmětu
Výskyt ve studijních plánech
Výskyt ve speciálních blocích
Hodnocení Výuky
Předmět neobsahuje žádné hodnocení.