UINA511 Methods of Parallel Programming

Faculty of Philosophy and Science in Opava
Winter 2025
Extent and Intensity
2/0/0. 4 credit(s). Type of Completion: zk (examination).
Teacher(s)
doc. Ing. Petr Sosík, Dr. (lecturer)
Mgr. Daniel Valenta, Ph.D. (lecturer)
Guaranteed by
Mgr. Daniel Valenta, Ph.D.
Institute of Computer Science – Faculty of Philosophy and Science in Opava
Timetable
Wed 16:30–18:10 LEI
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
Course objectives
Students will get familiar with principles of parallel programing, division of parallel systems according to the Flynn's taxonomy. Students will also get familiar with work in the PVM and MPI environment and technologies using graphics cards for the parallel computation such as CUDA, ATI FireStream, DirectCompute and OpenCL.
Learning outcomes

After completing the course, the student will be able to:

  • explain principles and concepts of parallel programming,
  • describe the classification of parallel systems according to Flynn’s taxonomy,
  • characterize parallel computing architectures and their applications,
  • use PVM and MPI environments for parallel program development,
  • implement basic parallel programs using PVM and MPI technologies,
  • explain principles of GPU-based parallel computing,
  • apply GPU technologies such as CUDA, ATI FireStream, DirectCompute and OpenCL for parallel computation,
  • analyze and evaluate the performance of parallel applications on different platforms,
  • solve computational problems using parallel programming techniques and tools.

Syllabus
1. Introduction to the principles - motivation of parallelization, terms definition 2. Flynn's taxonomy 3. Clusters 4. Parallel Virtual Machine a Message Passing Interface 5. CUDA technology 6. ATI FireStream technology 7. DirectCompute technology 8. OpenCL technology
Literature
    required literature
  • SCHMIDT, B., J. GONZÁLEZ-DOMÍNGUEZ, C. HUNDT a M. SCHLARB. Parallel Programming: Concepts and Practice. Cambridge, MA, Morgan Kaufmann Publishers, Elsevier, [2018]. ISBN 978-0-12-849890-3. https://books.google.cz/books?id=-y9HDgAAQBAJ
    recommended literature
  • Shane Cook. CUDA Programming: A Developer's Guide to Parallel Computing with GPUs (Applications of Gpu Computing). ISBN 978-0124159334. info
  • Ananth Grama, George Karypis , Vipin Kumar , Anshul Gupta. Introduction to Parallel Computing (2nd Edition). Pearson Education, 2003. info
Teaching methods
Interactive lecture. Lecture with a practical programming examples. Homework.
Assessment methods
Exam
Language of instruction
English
The course is also listed under the following terms Winter 2021, Winter 2022, Winter 2023, Winter 2024.
  • Enrolment Statistics (recent)
  • Permalink: https://is.slu.cz/course/fpf/winter2025/UINA511