9600-1007/01 – Parallel Programming I (PP1)
Gurantor department | IT4Innovations | Credits | 6 |
Subject guarantor | Mgr. Branislav Jansík, Ph.D. | Subject version guarantor | Mgr. Branislav Jansík, Ph.D. |
Study level | undergraduate or graduate | Requirement | Compulsory |
Year | 1 | Semester | summer |
| | Study language | Czech |
Year of introduction | 2016/2017 | Year of cancellation | |
Intended for the faculties | USP | Intended for study types | Follow-up Master |
Subject aims expressed by acquired skills and competences
Upon the successful completion of the course, students will be able to:
Analyze an algorithm and design suitable decomposition for its parallelization
Analyze efficiency of the partitioning design
Implement and optimize an algorithm using the instruction-level parallelism, combined computational power of many cores (multi-core (CPU) and many-core (MIC)), OpenMP directives, and combined computational power of many computational nodes through MPI inter-process communication.
Teaching methods
Lectures
Tutorials
Project work
Summary
Compulsory literature:
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
Recommended literature:
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)
Way of continuous check of knowledge in the course of semester
E-learning
Other requirements
Knowledge of programming languages C/C++ or Fortran in any version.
Knowledge of programming at the level of instruction is recommended, but not required.
Prerequisities
Subject has no prerequisities.
Co-requisities
Subject has no co-requisities.
Subject syllabus:
1. Introduction to HPC and Parallel Programming
2. Introduction to the Architecture of Modern x86 Microprocessors
3. Decomposition of Algorithms for Parallelization, Directed Acyclic Graphs
4. Optimizing Methods for Instruction-level Parallelism, Explicit Directives and Commands for Instruction-level Parallelism
5. Programming of Parallel Threads using OpenMP Directives
6. Basic Inter-process Communication using MPI, Hybrid Programming
7. Methods for Analytical Modelling of Parallel Algorithms Efficiency
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction
Předmět neobsahuje žádné hodnocení.