Organized and Sponsored by PICSciE and OIT Research Computing.
Where: Princeton University, Zoom
When: 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 workstation 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++.
Code of Conduct: All participants are expected to follow the code of conduct described here.
Registration: Open to all members of the Princeton community with an active Princeton NetID. Advance registration is required. A link to the registration form, along with additional registration information, can be found on the Registration page.
Registration is for the whole workshop – attendees are therefore expected to attend all sessions.
Requirements: Like all PICSciE virtual events, this training requires participants to log into Zoom with their Princeton credentials. 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. 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.
Prerequisites: All participants MUST have some experience with (i) the Linux command line, and (ii) programming in C or C++ (or Fortran, but enough that you can quickly pick up C syntax). Beyond that, no prior experience with parallel programming or with other aspects of high-performance computing is assumed.
Zoom information: Zoom information will be provided after you register.
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: