Minnesota Supercomputing Institute
With regards to the safety measures put in place by the university to mitigate the risks of the COVID-19 virus, at this time all MSI systems will remain operational and can be accessed remotely as usual. The only planned outages concern our in-person Helpdesk and tutorials. More information, as well as alternative remote support options, can be found at MSI COVID-19 Continuity Plan
This tutorial provides an introduction on how to write a parallel program using OpenMP, and will help researchers write better and more portable parallel codes for shared memory Linux nodes. The course will cover the Compiler Directives (44), Runtime Library Routines (35), and Environment Variables (13) relevant to OpenMP. OpenMP supports C/C++ and Fortran implementations. Examples of how to enable OpenMP on the Intel, GNU, and PGI compilers will be given. The fork-join model of thread parallel execution will be described. Examples of various work sharing, synchronization, data scope, scheduling, reduction, thread binding, and vectorization constructs will be given. Programming examples will be given in Fortran and C, so any background in these languages will be helpful.