Research Computing Services Courses: Difference between revisions

From RCSWiki
Jump to navigation Jump to search
(Added training category)
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
= Research Computing Services Course Offerings =
Research Computing Services offers various training courses throughout the year to help users work effectively in our HPC environment. You may see our upcoming courses below.


== Winter 2021 ==
= Winter 2021 =


=== Introduction to the Linux Command Line ===
=== Introduction to the Linux command line ===


Research Computer Services provides support for users of the Advanced Research Computing (ARC) infrastructure at the University of Calgary.
Research Computer Services provides support for users of the Advanced Research Computing (ARC) infrastructure at the University of Calgary.
Line 18: Line 18:
[https://www.eventbrite.com/e/intro-to-linux-command-line-registration-141887377967| Register Here for Intro To Linux Command Line]
[https://www.eventbrite.com/e/intro-to-linux-command-line-registration-141887377967| Register Here for Intro To Linux Command Line]


=== 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.
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.
Line 29: Line 29:


Recommended:
Recommended:
* A basic knowledge of the linux command line to work through the problems
* 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
* A basic knowledge of Python (functions and for-loops) to understand the examples


[https://www.eventbrite.com/e/introduction-to-parallel-computing-and-job-scheduling-registration-142027998567| Register Here for Introduction to Scheduling and Parallel Models of Computation]
[https://www.eventbrite.com/e/introduction-to-parallel-computing-and-job-scheduling-registration-142027998567| Register Here for Introduction to Scheduling and Parallel Models of Computation]


=== 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.
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.
Line 45: Line 45:


Recommended:
Recommended:
* A basic knowledge of the linux command line to work through the problems
* 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
* A very small amount of exposure to the C programming language will make the main example easier to follow


To register for this course visit:
[https://www.eventbrite.com/e/introduction-to-compiling-software-from-source-for-hpc-tickets-142022650571| Register Here for Introduction to Compiling Software From Source for HPC]


[https://www.eventbrite.com/e/introduction-to-compiling-software-from-source-for-hpc-tickets-142022650571| Introduction to Compiling Software From Source for HPC]
= RCS course materials and references =
 
= RCS Course materials and references =


The Intro to Linux Command Line is based on the excellent course from the Software Carpentry group.
The Intro to Linux Command Line is based on the excellent course from the Software Carpentry group.


http://swcarpentry.github.io/shell-novice/
http://swcarpentry.github.io/shell-novice/
The Introduction to Compiling for HPC presentation can be downloaded here:
[https://uofc-my.sharepoint.com/:b:/g/personal/ian_percel_ucalgary_ca/Ea9KVACseHtJk1QTd8KOY9ABGNPPGXteGO-XE2jzMClPKQ?e=CvtJMd| Compiling Presentation]
The Introduction to Scheduling and Parallel Models of Computation presentation can be downloaded here:
[https://uofc-my.sharepoint.com/:b:/g/personal/ian_percel_ucalgary_ca/EYDZ5v7cPVFItiClJPDTkL0B9fxjM2YRXlMH7a2_uDDnWQ?e=eqZmT4| Scheduling Presentation]
[[Category:Training]]
[[Category:Administration]]
{{Navbox Administration}}
__NOTOC__

Latest revision as of 21:13, 21 September 2023

Research Computing Services offers various training courses throughout the year to help users work effectively in our HPC environment. You may see our upcoming courses below.

Winter 2021

Introduction to the Linux command line

Research Computer Services provides support for users of the Advanced Research Computing (ARC) infrastructure at the University of Calgary. One of the critical skills required to fully utilize this resource is to have an understanding of the Linux command line.

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

Register Here for Intro To Linux Command Line

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

Register Here for Introduction to Scheduling and Parallel Models of Computation

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

Register Here for Introduction to Compiling Software From Source for HPC

RCS course materials and references

The Intro to Linux Command Line is based on the excellent course from the Software Carpentry group.

http://swcarpentry.github.io/shell-novice/

The Introduction to Compiling for HPC presentation can be downloaded here:

Compiling Presentation

The Introduction to Scheduling and Parallel Models of Computation presentation can be downloaded here:

Scheduling Presentation