460-4060/01 – 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 graduate
Study languageCzech
Year of introduction2013/2014Year 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.
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

Conditions for completion are defined only for particular subject version and form of study

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 Czech Ostrava Optional study plan
2017/2018 (N2647) Information and Communication Technology (1103T031) Computational Mathematics K Czech Ostrava Optional study plan
2017/2018 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology P Czech Ostrava 2 Optional study plan
2017/2018 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology K Czech Ostrava 2 Optional study plan
2016/2017 (N2647) Information and Communication Technology (1103T031) Computational Mathematics P Czech Ostrava Optional study plan
2016/2017 (N2647) Information and Communication Technology (1103T031) Computational Mathematics K Czech Ostrava Optional study plan
2016/2017 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology P Czech Ostrava 2 Optional study plan
2016/2017 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology K Czech Ostrava 2 Optional study plan
2015/2016 (N2647) Information and Communication Technology (1103T031) Computational Mathematics P Czech Ostrava Optional study plan
2015/2016 (N2647) Information and Communication Technology (1103T031) Computational Mathematics K Czech Ostrava Optional study plan
2015/2016 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology P Czech Ostrava 2 Optional study plan
2015/2016 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology K Czech Ostrava 2 Optional study plan
2014/2015 (N2647) Information and Communication Technology (1103T031) Computational Mathematics P Czech Ostrava Optional study plan
2014/2015 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology P Czech Ostrava 2 Optional study plan
2014/2015 (N2647) Information and Communication Technology (1103T031) Computational Mathematics K Czech Ostrava Optional study plan
2014/2015 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology K Czech Ostrava 2 Optional study plan
2013/2014 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology P Czech Ostrava 2 Optional study plan
2013/2014 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology K Czech Ostrava 2 Optional study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner