NPRG042 Programming in Parallel Environment
Labs
The work in labs focuses on introducing technologies that are subsequently used in home assignments. Therefore, it is widely recommended to attend the labs. Details about labs and seminars will be updated continuously.
Please bring your laptops to the seminar at least in the weeks denoted when a collective lab session takes place.
Both labs and home assignments will require that you familiarize yourselves with our parlab and gpulab clusters and the SLURM management system. See the HPC clusters README. Quick info:
- The head nodes bear the same name as the cluster with the MS domain suffix (like
parlab.ms.mff.cuni.cz). - SSH is on port 42222 for security reasons (use the
-p 42222option with your SSH client). - Use your CAS/LDAP credentials to log in (same as for SIS, ReCodEx...). However, for regular use, set up authentication based on an SSH key . It is easy to mistype a password, and there is a fail2ban service running. If you fail to enter your password several times from an IP address shared by users (like Eduroam), you will lock out the parlab not only for yourself, but for your classmates as well.
- You need to run most of your code (including compilation) on the workers using SLURM tools (follow the documentation or look for hints in individual assignments).
- Do not use Remote SSH VSCode extension! It consumes awfully lot memory on the head nodes and even causes crashes when many students do this simultaneously.
Schedule
| Date | Topics | Details | |
|---|---|---|---|
| 16.2.2026 | Revising parallelism in operating systems and mainstream multicore CPUs | slides | |
| 23.2.2026 | C# .NET Core tasks practice: parallel factorization with visualization | lab work, solution | |
| 2.3.2026 | Assignment #1: C# .NET Parasheet | specification | |
| 9.3.2026 | Intel Threading Building Blocks practice | lab work, solution | |
| 16.3.2026 | Assignment #1 results, Assignment #2: Intel TBB k-means | specification | |
| 23.3.2026 | OpenMP | lab work | |
| 30.3.2026 | Assignment #2 results, Assignment #3: OpenMP edit distance | ||
| 6.4.2026 | Easter Monday | ||
| 13.4.2026 | SYCL (GPGPU), Assignment #3 results, Assignment #4: SYCL simulation | ||
| 20.4.2026 | TBA, possibly consultations | ||
| 27.4.2026 | Spark | ||
| 4.5.2026 | Assignment #4 results, Assignment #5: Spark | ||
| 11.5.2026 | TBA, possibly consultations | ||
| 18.5.2026 | Assignment #5 results, discussion |