Python is a modern general purpose programming language that is popular in scientific computing for its readable syntax and extremely rich ecosystem of scientific and mathematical modules. The morning section will provide an introduction to some widely used packages, including common idioms for manipulating and visualizing data. The afternoon section will cover advanced modules and techniques relevant to high performance computing.
In this tutorial you will learn about the data storage systems available for academic research at the University of Minnesota. An overview of the kinds of storage systems that are available, policies for getting access to them, a comparison of their characteristics, and examples of how they can be accessed will be presented. You will also be given an overview of how the characteristics of UMN storage will impact the stability and throughput of various applications and workflows.
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.
This one-day, hands-on workshop provides an introduction on how to write a parallel program using MPI and will help researchers write better and portable parallel codes for distributed-memory Linux clusters. The tutorial will focus on basic point-to-point communication and collective communications, which are the most commonly used MPI routines in high- performance scientific computation. In addition, the advantage of using MPI non-blocking communication will be introduced. Each session of the workshop will combine a lecture with hands-on practice.