9600-1014/01 – Analýza a optimalizace C/C++ aplikací (AOA)

Garantující katedraIT4InnovationsKredity4
Garant předmětuIng. Stanislav Böhm, Ph.D.Garant verze předmětuIng. Marta Jarošová, Ph.D.
Úroveň studiapregraduální nebo graduálníPovinnostpovinně volitelný
Ročník2Semestrletní
Jazyk výukyčeština
Rok zavedení2016/2017Rok zrušení
Určeno pro fakultyUSPUrčeno pro typy studianavazující magisterské
Výuku zajišťuje
Os. čís.JménoCvičícíPřednášející
BOH126 Ing. Stanislav Böhm, Ph.D.
Rozsah výuky pro formy studia
Forma studiaZp.zak.Rozsah
prezenční Zápočet a zkouška 2+2

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

Způsob průběžné kontroly znalostí během semestru

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

Podmínky absolvování jsou definovány pouze pro konkrétní verzi předmětu a formu studia

Výskyt ve studijních plánech

Akademický rokProgramOborSpec.FormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2018/2019 (N2658) Výpočetní vědy (2612T078) Výpočetní vědy P čeština Ostrava 2 povinně volitelný stu. plán
2017/2018 (N2658) Výpočetní vědy (2612T078) Výpočetní vědy P čeština Ostrava 2 povinně volitelný stu. plán
2016/2017 (N2658) Výpočetní vědy (2612T078) Výpočetní vědy P čeština Ostrava 2 povinně volitelný stu. plán

Výskyt ve speciálních blocích

Název blokuAkademický rokForma studiaJazyk výuky RočníkZLTyp blokuVlastník bloku