NPRG058: Advanced Programming in Parallel Environment

About

This is an informational web page for the Advanced Programming in Parallel Environment course (NPRG058), which is being taught at the Faculty of Mathematics and Physics, Charles University in Prague. The lectures in 2023/24 are being held in S4 from 12:20 to 13:50 every Tuesday and the labs take place in SU2 from 15:40 to 17:10 every Thursday (please follow the schedule of lectures and labs for more details).

This is an advanced course. We assume you already have the necessary knowledge from the basic course NPRG042 Programming in parallel environment as well as decent coding skills in C++.

There is also an option to get yourselves involved in research directly connected to parallel programming in exchange for receiving a credit or replacing some of the course assignments with research-related assignments. It is also possible to pursue some of the research topics as master's thesis or even in a doctoral study program. Contact the teachers for more details.

Contact

The course is currently led by Martin Kruliš (krulis -at- d3s.mff.cuni.cz) and Jakub Yaghob (jakub.yaghob -at- matfyz.cuni.cz).

The primary communication channel is Mattermost. Invitations will be sent to all enrolled students via email.

Hardware Info

For the purposes of this course, you will require access to the following servers:

All servers have SSH running on port 42222. Parlab and gpulab are using slurm for job control. Details can be found here https://gitlab.mff.cuni.cz/mff/hpc/clusters.

You may log in using your LDAP (CAS) credentials (with the name-based login, not by UKCO). An account will be created on the first login. The default account will grant you access to generic job queues that have the lowest priorities. You will be assigned access to better queues (SLURM account nprg058s) before the first labs.

For running short jobs on the gpulab, use gpu-short task queue. Also do not forget to add --gres=gpu:V100:1 (or A100, or L40) to the srun parameters to make sure that you can access the GPU. Moreover, always use the designated SLURM account by adding -A nprg058s parameter. Otherwise, you may not be able to access the queues.

Access to grafik standalone server is managed by an explicit whitelist and is reserved for special assignments (e.g., students who wish to participate in research as well).