Event box

HPC_short_course_summer_2018

This course has five modules intended to cover introductory as well as more advanced fundamentals of high performance computing. Each module is self-contained and therefore users can choose to take all five or just one or two, depending on ability and interests.

Module 1 - Monday, 24 June, 10:30-12:30p. Introduction to Linux: This module is designed for people with little or no experience using the Linux command line. Attendees will gain enough basic expertise to confidently navigate the filesystem, create directories and files, understand processes and shells, and use the most common Linux commands. The class format will be primarily lecture and demonstration, with a few optional exercises. There will be time at the end for more detailed discussion and one-on-one consulting.

Module 2 - Tuesday, 25 June, 10:30-12:30p. Introduction to Bash Shell Scripting: Shell scripts are files containing collections of commands for Linux systems that can be executed as programs. They are powerful tools for performing complex and/or repetitive tasks. This course will teach the basics of scripting with the most common Linux shell, the Bourne Again shell (bash). Attendees will learn how to initialize variables, do simple arithmetic, use logic statements, implement do loops, and create functions within bash shell scripts. The class format will be primarily lecture and demonstration, with a few optional exercises. There will be time at the end for more detailed discussion and one-on-one consulting. (Attendees should have a basic knowledge of Linux as a prerequisite.)

Module 3 - Wednesday, 26 June, 10:30-12:30p. HPC Job Submission and Load Balancing: This course will cover the basics of job submission on the CU’s Summit supercomputing cluster. Attendees will learn to submit both interactive and batch jobs using the Slurm workload manager. The course will also discuss the CURC Load Balance tool, which enables multiple tasks to be optimally balanced and executed within a single batch job. The class format will be primarily lecture and demonstration. There will be time at the end for more detailed discussion and one-on-one consulting. (Attendees should have a basic knowledge of Linux as a prerequisite.)

Module 4 - Thursday, 27 June, 10:30-12:30p. Profiling and Scaling Code on HPC: This course will provide an overview of profiling serial and parallel performance. Attendees will gain familiarity with those concepts necessary to characterize program performance for a computing allocation request. Topics to be covered include: Timing functions available in C++ and Fortran, commonly used profiling tools, the concepts of strong and weak scaling, and vectorization. (Attendees should have a basic knowledge of Linux as a prerequisite.)

Module 5 - Friday, 28 June, 10:30-12:30p. Fundamentals of Compiling Programs and Linking Libraries in an HPC Environment: This class will provide an overview of compiling and linking in a Linux environment. Topics to be covered include: Makefiles, linking order, creating and linking to shared and static libraries, LD_LIBRARY_PATH and the HPC module system, and the RPATH variable. Examples will be provided in Fortran and C++. (Attendees should have a basic knowledge of Linux as a prerequisite.)

Date:
Wednesday, June 27, 2018
Time:
10:30am - 12:30pm
Location:
OIT-ARCE-620
Presenter(s):
Andy Monaghan, Kim Kanigel-Winner, Nick Featherstone
Registration has closed.

Host

No Profile image
Caroline Sinkinson