Parallel Algorithms

Labs

The aim of labs is to familiarize students with the design and implementation of parallel algorithms and to practice the theory from lectures. The tasks are proposed in a way that enables to test/debug/run them on conventional computers. For the purpose of computationally demanding experiments, we arranged the access to Metacentrum.

Attendance at labs is not compulsory, however, it is strongly recommended. Our goal is to improve students' knowledge of parallel algorithms, not just to record presence.

Plan of the Labs

# Topic Notes Handouts Other materials

1

Introduction

semestral project assignment

introduction.pdf, semester_project.pdf

introduction_helloworlds.zip, metacentrum_signup.pdf, metacentrum_tutorial.zip, Metacentrum Documentation, Basic terms, Simple job, Resources, Parallel computing

2

OpenMP

HW

openmp.pdf, hw1_omp.pdf

openmp_skeletons.zip, openmp_solutions.zip, OpenMP cheatsheet, hw1_omp_skeleton.zip, hw1_omp_public.zip

3

MPI

HW

mpi.pdf, hw2_mpi.pdf

mpi_skeletons.zip, mpi_solutions.zip, hw2_mpi_skeletons.zip, hw2_mpi_public.zip

4

Theoretical seminar I

verification of the semestral project topic

worksheet.pdf

lab4_solutions.pdf

5

Semestral project topic presentation

6

No lab

7

Theoretical seminar II (TEST preparation)

8

Theoretical seminar III

theoretical_seminar_1.pdf, prefix_sums.pdf

9

Python numba part 1

numba_1.pdf

numba_1_skeletons.zip,

10

Semestral project solution proposal presentation

11

Python numba part 2

HW

numba_2.pdf, hw3_gpu.pdf

numba_2_skeletons.zip, hw3_gpu_skeleton.zip, hw3_gpu_public.zip

12

Theoretical seminar IV

theoretical_seminar_2.pdf

13

Consultations

14

Final semestral project presentation

Classroom computers

(information under review due to classroom change)

  • OS: Debian Linux 64b, select “DCE PXE” (without number) during booting

  • Login: username + main CTU password (the one you use for KOS)

  • Development environments: CLion (C++), Visual Studio Code, GVim, Eclipse, Geany are installed. CLion is installed in /opt and its license have to be activated (use your JetBrains account).