Princeton Institute for Computational Science and Engineering (PICSciE) Introduction to Parallel Programming with MPI and OpenMP in C/C++ Mini-Course - Day 1

Introduction to Parallel Programming with MPI and OpenMP in C/C++

This two-day workshop is intended to provide a practical introduction to the broad topic of parallel computing for scientific/numerical codes. Both MPI and OpenMP, two of the most popular tools for compiled-language parallel programming will be covered. The primary focus of the workshop will be features and topics most useful for beginning parallel programmers. The first day will cover MPI, including environment management, point-to-point communication, and collective communication routines. The second day will cover OpenMP constructs for specifying parallel regions, work sharing, synchronization, and environment management. Covered throughout the workshop will be general strategies for writing and scaling parallel code as well as tips for optimizing and debugging. Examples will be provided in C and C++ and multiple lab exercises will allow participants to hands-on experience designing, writing, compiling, and executing parallel code on a Princeton Research Computing High Performance Computing (HPC) Cluster. Level/Prerequisites: This workshop assumes no prior experience with parallel programming but does require some familiarity with C/C++ and basic programming concepts. Some experience working in a Linux command line environment is strongly encouraged but not required. Registrants must have a Princeton University netID, as this is required to gain access to the HPC cluster. Participants should bring their own computers with an ssh client already installed. Because of hands-on nature of this workshop please bring: 1. A laptop with a wireless connection and an ssh client already installed. Linux and mac should already have one. Windows users will need a client, e.g. putty, cygwin, etc. 2. An account on adroit. If you do not already have one you can register here: https://www.princeton.edu/researchcomputing/computational-hardware/adroit/registration. In the “specify reason for use” write “Intro to Parallel Computing Workshop”. This is not automated so please do not wait until the last minute to register! Please register online at the training website, http://www.princeton.edu/training or contact Andrea Rubinstein at alrubins@princeton.edu/258-1397.

Date & Time

March 16, 2016 | 10:00am – 4:00pm

Location

Princeton University, Princeton Center for Theoretical Science, Jadwin Hall, Room 407

Speakers

Ian Cosden

Affiliation

Princeton Institute for Computational Science and Engineering (PICSciE)