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 Chimera cluster and the SLURM management system. See the HPC clusters README. Quick info:
- CPU labs/assignments will use parlab headnode
parlab.ms.mff.cuni.cz(located at MS, SSH runs on port 42222). - GPU labs/assignments will use Chimera headnode
hpc.troja.mff.cuni.cz(SSH runs on regular port 22). - 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 | specification | |
| 6.4.2026 | Easter Monday | ||
| 13.4.2026 | SYCL (GPGPU), Assignment #3 results, Assignment #4: SYCL simulation | lab work, specification | |
| 20.4.2026 | TBA, possibly consultations | ||
| 27.4.2026 | Spark | lab work | |
| 4.5.2026 | Assignment #4 results, Assignment #5: Spark | specification | |
| 11.5.2026 | TBA, possibly consultations | ||
| 18.5.2026 | Assignment #5 results, discussion |