9600-1007/01 – Paralelní programování I (PP1)

Garantující katedraIT4InnovationsKredity6
Garant předmětuMgr. Branislav Jansík, Ph.D.Garant verze předmětuMgr. Branislav Jansík, Ph.D.
Úroveň studiapregraduální nebo graduálníPovinnostpovinný
Ročník1Semestrletní
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í
JAN0369 Mgr. Branislav Jansík, 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 algoritmus, navrhnout vhodnou dekompozici pro jeho paralelizaci Analyzovat efektivitu návrhu paralelizace Implementovat a optimalizovat algoritmus s využitím paralelizace na úrovni instrukcí jádra procesoru, s využitím kombinované výpočetní síly mnoha jader (multicore(CPU) i manycore(MIC)) prostřednictvím direktiv OpenMP a s využitím kombinované výpočetní síly mnoha výpočetních uzlů, prostřednictvím inter procesové komunikace MPI.

Vyučovací metody

Přednášky
Cvičení (v učebně)
Projekt

Anotace

Povinná literatura:

1. Michael McCool (Author), James Reinders (Author), Arch Robison (Author), Structured Parallel Programming: Patterns for Efficient Computation Paperback – June 25, 2012 2. http://mpi-forum.org, MPI: A Message-Passing Interface Standard 3. http://openmp.org, OpenMP Application Program Interface

Doporučená literatura:

1. http://software.intel.com, Optimization and Performance Tuning for Intel® Xeon Phi™ Coprocessors – Part 1: Optimization Essentials 2. Intel® 64 and IA-32 Architectures Optimization Reference Manual 3. High Performance Parallelism Pearls: Multicore and Many-core Programming Approaches Paperback – November 17, 2014 by James Reinders (Author), James Jeffers (Author)

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

E-learning

Další požadavky na studenta

Znalost programovacího jazyku C/C++ nebo Fortran v kterékoli verzi Znalost programování na úrovni instrukcí je doporučená, není však požadována.

Prerekvizity

Předmět nemá žádné prerekvizity.

Korekvizity

Předmět nemá žádné korekvizity.

Osnova předmětu

1. Úvod do HPC a paralelního programování 2. Úvod do architektury současných mikroprocesorů x86 3. Dekompozice algoritmů pro paralelizaci, orientované acyklické grafy 4. Optimalizační techniky pro paralelizmus na úrovni instrukcí, explicitní direktivy a příkazy pro paralelizmus na úrovni instrukcí 5. Programování paralelních vláken s pomocí direktiv OpenMP 6. Základní inter procesová komunikace s pomocí knihovny MPI, hybridní programování 7. Metody analytického modelování efektivity paralelních algoritmů

Podmínky absolvování předmětu

Prezenční forma (platnost od: 2016/2017 letní semestr)
Název úlohyTyp úlohyMax. počet bodů
(akt. za podúlohy)
Min. počet bodů
Zápočet a zkouška Zápočet a zkouška 100 (100) 51
        Zápočet Zápočet  
        Zkouška Zkouška 100  51
Rozsah povinné účasti:

Zobrazit historii

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 1 povinný stu. plán
2017/2018 (N2658) Výpočetní vědy (2612T078) Výpočetní vědy P čeština Ostrava 1 povinný stu. plán
2016/2017 (N2658) Výpočetní vědy (2612T078) Výpočetní vědy P čeština Ostrava 1 povinný stu. plán

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

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