Research Computing Services Courses: Difference between revisions

From RCSWiki
Jump to navigation Jump to search
Line 7: Line 7:
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.
One of the critical skills required to fully utilize this resource is to have an understanding of the Linux command line.
One of the critical skills required to fully utilize this resource is to have an understanding of the Linux command line.
Beginners guide to using a supercomputer: The Linux command line - BASH


Prerequisites:
Prerequisites:

Revision as of 07:44, 22 February 2021

Research Computing Services Course Offerings

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

To Register for this course visit:

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


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

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

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