460-4060/02 – Programming in the HPC Environment (PvP HPC)

Gurantor departmentDepartment of Computer ScienceCredits4
Subject guarantorMgr. Branislav Jansík, Ph.D.Subject version guarantorMgr. Branislav Jansík, Ph.D.
Study levelundergraduate or graduateRequirementOptional
YearSemesterwinter
Study languageEnglish
Year of introduction2015/2016Year of cancellation2017/2018
Intended for the facultiesFEIIntended for study typesFollow-up Master
Instruction secured by
LoginNameTuitorTeacher giving lectures
JAN0369 Mgr. Branislav Jansík, Ph.D.
RIH0042 Ing. Lubomír Říha, Ph.D.
STA545 Ing. Martin Stachoň
Extent of instruction for forms of study
Form of studyWay of compl.Extent
Full-time Credit and Examination 2+2
Combined Credit and Examination 10+0

Subject aims expressed by acquired skills and competences

The students are expected to gain good orientation in contemporary HPC hardware architecture and principles of HPC programming. Further, they should become familiar with parallel program design and problem decomposition techniques. The aim is to build up a competence in MPI, OpenMP, CUDA and PGAS (UPC) programming models and skills necessary to apply these techniques efficiently to real life problems.

Teaching methods

Lectures
Tutorials

Summary

The students are expected to gain good orientation in contemporary HPC hardware architecture and principles of HPC programming. Further, they should become familiar with parallel program design and problem decomposition techniques. The aim is to build up a competence in MPI, OpenMP, CUDA and PGAS (UPC) programming models and skills necessary to apply these techniques efficiently to real life problems.

Compulsory literature:

http://software.intel.com/sites/default/files/319433-014.pdf http://www.intel.com/content/dam/doc/manual/64-ia-32-architectures-optimization-manual.pdf http://openmp.org/wp/ https://computing.llnl.gov/tutorials/openMP/ http://www.mpi-forum.org/ http://www.open-mpi.org/ http://icl.cs.utk.edu/papi/ http://www.netlib.org/scalapack/slug/index.html

Recommended literature:

http://software.intel.com/sites/default/files/319433-014.pdf http://www.intel.com/content/dam/doc/manual/64-ia-32-architectures-optimization-manual.pdf

Way of continuous check of knowledge in the course of semester

Podmínky udělení zápočtu: Vypracování úloh zadaných na cvičení a úlohy ke zkoušce (viz dále). Zkouška Zkouška bude spočívat v demonstraci a obhajobě hybridního OpenMP/MPI programu s využitím AVX vektorizace řešícího zadaný problém.

E-learning

Další požadavky na studenta

Interest in the area of course.

Prerequisities

Subject has no prerequisities.

Co-requisities

Subject has no co-requisities.

Subject syllabus:

The topics of lectures ● Introduction into high performace computing (HPC), the architecture of processor x86, principles of optimisation, measuring the performance by accessing to hardware, performance counters, PAPI library , Valgrind tool. ● SIMD vector programming, AVX instruction set. HPC problems and linear algebra, BLAS library. ● Supercomputer architectures, introduction into the environment of supercomputer, introduction into parallel computing, concepts and terminology of parallel programming, introduction into OpenMP and MPI, compilation of OpenMP and MPI programs, launching parallel processes. ● Basic OpenMP techniques, basic MPI communication, debugging and profiling of parallel programs. ● Advanced OpenMP and hybrid programming. ● Granularity, loadbalancing, and metascheduling. Implementation of Master-slave in MPI. ● Advanced topics: Trickiness in OpenMP programming, MPI communicators and groups, nonblocking MPI communication, collective MPI operations. ● Dynamical MPI, intracommunicators and intercommunicators, connecting MPI processes. ● One-sided MPI communication, MPI windows, frames, and epochs. ● MPI and parallel I/O. ● Integration of BLACS and MPI, libraries of parallel distributed linear algebra ScaLapack a PBLAS. ● Examples of HPC applications, solving the linear equations in parallel distributed environment. Topics for computer labs The labs correspond to the lectures. The topics are as follows: ● Computer architectures; computational performance and its measuring ● Vector programming ● Exploiting the libraries for linear algebra in parallel environments ● Programming in OpenMP ● Programming in MPI ● Examples of HPC applications

Conditions for subject completion

Combined form (validity from: 2015/2016 Winter semester, validity until: 2017/2018 Summer semester)
Task nameType of taskMax. number of points
(act. for subtasks)
Min. number of points
Credit and Examination Credit and Examination 100 (100) 51
        Credit Credit 40  20
        Examination Examination 60  30
Mandatory attendence parzicipation:

Show history

Occurrence in study plans

Academic yearProgrammeField of studySpec.FormStudy language Tut. centreYearWSType of duty
2017/2018 (N2647) Information and Communication Technology (1103T031) Computational Mathematics P English Ostrava Optional study plan
2017/2018 (N2647) Information and Communication Technology (1103T031) Computational Mathematics K English Ostrava Optional study plan
2017/2018 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology P English Ostrava 2 Optional study plan
2017/2018 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology K English Ostrava 2 Optional study plan
2016/2017 (N2647) Information and Communication Technology (1103T031) Computational Mathematics P English Ostrava Optional study plan
2016/2017 (N2647) Information and Communication Technology (1103T031) Computational Mathematics K English Ostrava Optional study plan
2016/2017 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology P English Ostrava 2 Optional study plan
2016/2017 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology K English Ostrava 2 Optional study plan
2015/2016 (N2647) Information and Communication Technology (1103T031) Computational Mathematics P English Ostrava Optional study plan
2015/2016 (N2647) Information and Communication Technology (1103T031) Computational Mathematics K English Ostrava Optional study plan
2015/2016 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology P English Ostrava 2 Optional study plan
2015/2016 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology K English Ostrava 2 Optional study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner