Research Computing Services Courses: Difference between revisions
m (Darcy moved page Hidinginplainsight to Courses: Making it public) |
Ian.percel (talk | contribs) (content for Ian's courses) |
||
Line 17: | Line 17: | ||
=== Introduction to Scheduling and Parallel Models of Computation === | === Introduction to Scheduling and Parallel Models of Computation === | ||
In this workshop, we will introduce basic ideas from parallel computing such as task graphs and resource scheduling. The first half of the talk will explain the difference between serial computations, shared memory parallelism, and distributed memory parallelism as they relate to understanding the resources that a computation is capable of using efficiently. The second half of the talk will introduce a workflow for computing that takes advantage of the many benefits of using a job scheduler. This workflow will emphasize methods for tracking resource utilization and modeling job performance to improve job requests. Throughout the workshop, attendees will apply these techniques to a simple (but scalable) example problem to develop their own scaling study and optimize a job script. | |||
Prerequisites: | |||
* You should have basic computer skills | |||
* You need a UCalgary IT account (if you have a UCalgary email account you have an IT account) | |||
* A VPN for connecting to the UCalgary network | |||
* A terminal (on a Mac) or a terminal emulator like PuTTy (on a PC) | |||
Recommended: | |||
* A basic knowledge of the linux command line to work through the problems | |||
* A basic knowledge of Python (functions and for-loops) to understand the examples | |||
=== Compiling Software === | === Compiling Software === | ||
In this workshop, we will introduce some of the basic ideas of compiling software from source code. The workshop will begin with a high-level overview of the ideas used in compiling software. Throughout the talk, we will discuss specific examples from compiling C libraries on Linux using GCC, Make, and Autotools. An understanding of these technologies is required for handling the most common custom software builds on High-Performance Computing clusters. We will introduce strategies for build process debugging and test these skills by building R from source to enable integration with some common high-performance statistical software. | |||
Prerequisites: | |||
* You should have basic computer skills | |||
* You need a UCalgary IT account (if you have a UCalgary email account you have an IT account) | |||
* A VPN for connecting to the UCalgary network | |||
* A terminal (on a Mac) or a terminal emulator like PuTTy (on a PC) | |||
Recommended: | |||
* A basic knowledge of the linux command line to work through the problems | |||
* A very small amount of exposure to the C programming language will make the main example easier to follow | |||
= RCS Course materials and references = | = RCS Course materials and references = |
Revision as of 22:01, 18 February 2021
Research Computing Services Course Offerings
Winter 2021
Introduction to Advanced Research Computing (ARC)
Beginners guide to using a supercomputer: The Linux command line - BASH
Prerequisites:
- You should have basic computer skills
- You need a UCalgary IT account (if you have a UCalgary email account you have an IT account)
- A computer with an up-to-date web browser
Recommended:
- A reasonably sized display or two displays, this is a hands on class and you will need to work through examples
Introduction to Scheduling and Parallel Models of Computation
In this workshop, we will introduce basic ideas from parallel computing such as task graphs and resource scheduling. The first half of the talk will explain the difference between serial computations, shared memory parallelism, and distributed memory parallelism as they relate to understanding the resources that a computation is capable of using efficiently. The second half of the talk will introduce a workflow for computing that takes advantage of the many benefits of using a job scheduler. This workflow will emphasize methods for tracking resource utilization and modeling job performance to improve job requests. Throughout the workshop, attendees will apply these techniques to a simple (but scalable) example problem to develop their own scaling study and optimize a job script.
Prerequisites:
- You should have basic computer skills
- You need a UCalgary IT account (if you have a UCalgary email account you have an IT account)
- A VPN for connecting to the UCalgary network
- A terminal (on a Mac) or a terminal emulator like PuTTy (on a PC)
Recommended:
- A basic knowledge of the linux command line to work through the problems
- A basic knowledge of Python (functions and for-loops) to understand the examples
Compiling Software
In this workshop, we will introduce some of the basic ideas of compiling software from source code. The workshop will begin with a high-level overview of the ideas used in compiling software. Throughout the talk, we will discuss specific examples from compiling C libraries on Linux using GCC, Make, and Autotools. An understanding of these technologies is required for handling the most common custom software builds on High-Performance Computing clusters. We will introduce strategies for build process debugging and test these skills by building R from source to enable integration with some common high-performance statistical software.
Prerequisites:
- You should have basic computer skills
- You need a UCalgary IT account (if you have a UCalgary email account you have an IT account)
- A VPN for connecting to the UCalgary network
- A terminal (on a Mac) or a terminal emulator like PuTTy (on a PC)
Recommended:
- A basic knowledge of the linux command line to work through the problems
- A very small amount of exposure to the C programming language will make the main example easier to follow