An Introduction to Parallel Programming with MPI and OpenMP in C/C++ (Nov. 12-13)

Nov 12, 2014, 10:30 amNov 13, 2014, 3:00 pm
Frist Multipurpose Room A
Event Description
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:…. 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! Ian Cosden is a Research Computing Software & Programming Analyst at PICSciE where he works with researchers to help build, develop, and optimize serial/parallel scientific codes. He has a Ph.D. in Mechanical Engineering from the University of Pennsylvania where he developed the first highly-parallel hybrid atomistic-continuum model for liquid-vapor phase change. Register today at the Training website, or contact Andrea Rubinstein at