The Princeton Institute for Computational Science & Engineering (PICSciE), in collaboration with OIT Research Computing, Program in Applied & Computational Mathematics, School of Engineering & Applied Science, Princeton Plasma Physics Laboratory, and Intel, is organizing a 3-day Introduction to Parallel Programming for High-Performance Computing Virtual Workshop during fall break from October 18-20, 2021.
This three-day workshop will provide an introduction to high-performance computing (HPC) on the Princeton University clusters. Participants will learn about aspects of computer architecture pertinent to programming for HPC, learn how to optimize their codes to take advantage of the vectorized math on modern processors, and learn parallel programming tools and paradigms for CPUs and GPUs. This workshop is aimed at researchers with a fair amount of programming experience, to help them make the transition from running single serial codes on their laptops or workstations to running parallel jobs on a cluster.
After a high-level overview of parallel programming models, of computer architecture, and of the interplay between the two, the workshop will have sessions on more specialized topics: OpenMP, MPI, and GPU programming. Each session builds on the previous ones (see agenda) and focuses on a different aspect of high-performance computing, and each with its own set of hands-on activities. Attendees are therefore expected to attend all sessions. All exercises will be conducted in compiled languages, primarily C and C++.
Open to all members of the Princeton community with an active Princeton NetID. Advance registration is required
Requirements: Like all PICSciE virtual events, this training requires participants to log into Zoom with their Princeton credentials. Participants who want to do the hands-on exercises for some workshops on their own laptops should ensure they have access to a modern C/C++ compiler that is compatible with OpenMP. Many sessions also require users to have an account on Princeton’s Adroit cluster and to be able to connect to it via SSH (usually, this requires both connecting to a Princeton VPN and having Duo authentication enabled). Details on the above, along with overarching requirements for all PICSciE virtual workshops, are listed on the advance setup guide for PICSciE virtual workshops.
Zoom information will be provided after you register.
Prerequisites: All participants MUST have a fair amount of experience with (i) the Linux command line, and (ii) programming in C or C++ (or Fortran, but enough that they can quickly pick up C syntax). Beyond that, no prior experience with parallel programming or with other aspects of high-performance computing is assumed.
Recording of sessions: Many of the workshop sessions will be recorded and will be available after the event. Part of the value of this event is doing exercises along with peers and having direct real-time access to the instructors for questions. Thus, we encourage people to register for and attend the “live” Zoom sessions if possible.
Finally, some helpful tutorials for prospective participants with less C/C++ experience can be found below:
Code of Conduct: All participants are expected to follow the code of conduct described here.
Questions? Contact [email protected].
- Princeton Institute for Computational Science & Engineering (PICSciE)
- OIT Research Computing
- Program in Applied & Computational Mathematics (PACM)
- Institute for Research and Innovation in Software for High Energy Physics (IRIS-HEP)
- Princeton Plasma Physics Lab (PPPL)