Name of Training Presenter Dates Abstract Presentation Materials
Toward using your clunky software Andy Monaghan 9/20/18 A container is a virtual computing environment that includes everything needed to run one or more applications: an operating system, software and other desired tools, libraries and customizations. Containers are "stand-alone", enabling workflows to be easily packaged and shared across platforms, enhancing reproducibility and portability.  This hands-on tutorial will provide an introduction to containers and the basics of running containers with Docker and Singularity.  Note that this particular course is focused on general container topics rather than the use of containers for HPC.
 
 
HPC Software Carpentry Shelley Knuth and Tim Dunn 9/26/18-9/27/18 This workshop is an introduction to using high-performance computing (HPC) systems effectively. It is intended to give students an introduction to HPC and an overview of the tools needed to start making use of HPC for your research computing needs. https://hpc-carpentry.github.io/
New User Seminar Joel Frahm 9/27/18

This session will be focused on Summit in particular without the overview of RC offerings. This seminar will be interactive.

In this second session, you will learn how to login, how to request allocations, the different spaces to store your data, a quick introduction to data transfer (including Globus), how to load software, how to run a job, and how to ask for help.

 
Intro to Python Nick Featherstone Fall 2018 This workshop series will provide a brief overview of Python programming and some research-useful Python packages. This course will not cover “how to program." https://github.com/ResearchComputing/
Python_Fall_2018
Intro to Linux Daniel Trahan 10/2/18 and 10/3/18 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. https://github.com/ResearchComputing/HPC_Short_Course_Fall_2018
Intro to Bash Shell Scripting Joel Frahm 10/9/18 and 10/10/18 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. https://github.com/ResearchComputing/HPC_Short_Course_Fall_2018
HPC Job Submission and Load Balancing Shelley Knuth 10/16/18 and 10/17/18 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. https://github.com/ResearchComputing/HPC_Short_Course_Fall_2018
Make and Makefiles   10/23/18 and 10/24/18 When working on HPC clusters users will often need to download and build open source software and libraries (or they may want to develop their own open source software). Such packages are typically built with the unix “make” command, which operates on a “Makefile” that contains the necessary parameters to compile the source code. This module will provide an introduction to make and Makefiles including hands-on examples with Fortran and C++. https://github.com/ResearchComputing/HPC_Short_Course_Fall_2018
Compiling Programs and Linking Libraries in an HPC Environment   10/30/18 and 10/31/18

This class will provide an overview of compiling and linking in a Linux environment. Topics to be covered include: 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++.

https://github.com/ResearchComputing/HPC_Short_Course_Fall_2018
Profiling and Scaling Code on HPC   11/6/18 and 11/7/18 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. https://github.com/ResearchComputing/HPC_Short_Course_Fall_2018
New User Seminar Joel Frahm 10/31/18 This seminar is to introduce new users to RC resources.  In this seminar, you will learn how to login, how to request allocations, the different spaces to store your data, a quick introduction to data transfer (including Globus), how to load software, how to run a job, and how to ask for help.  If you have a computer with ssh, an RC account and can successfully log in you can participate in interactive examples.