9600-1014/02 – 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ýukyangličtina
Rok zavedení2016/2017Rok zrušení
Určeno pro fakultyUSP, FEIUrč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

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

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ý rokProgramObor/spec.Spec.ZaměřeníFormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2020/2021 (N0541A170008) Výpočetní a aplikovaná matematika (S02) Výpočetní metody a HPC P angličtina Ostrava volitelný odborný stu. plán
2020/2021 (N0541A170008) Výpočetní a aplikovaná matematika (S01) Aplikovaná matematika P angličtina Ostrava volitelný odborný stu. plán
2019/2020 (N0541A170008) Výpočetní a aplikovaná matematika (S01) Aplikovaná matematika P angličtina Ostrava povinný stu. plán
2019/2020 (N0541A170008) Výpočetní a aplikovaná matematika (S02) Výpočetní metody a HPC P angličtina Ostrava volitelný odborný stu. plán
2018/2019 (N2658) Výpočetní vědy (2612T078) Výpočetní vědy P angličtina Ostrava 2 povinně volitelný stu. plán
2017/2018 (N2658) Výpočetní vědy (2612T078) Výpočetní vědy P angličtina Ostrava 2 povinně volitelný stu. plán
2016/2017 (N2658) Výpočetní vědy (2612T078) Výpočetní vědy P anglič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