Workshop Registration

Registration for workshops is now closed.  If you wished to be placed on a waiting list for the next workshop sessions, please email ryan.taylor@carleton.ca

Workshop Catalogue

RCS Workshop 1: Introduction to Linux Shell

Overview

The Unix shell has been around longer than most of its users have been alive. It has survived so long because it’s a power tool that allows people to do complex things with just a few keystrokes. More importantly, it helps them combine existing programs in new ways and automate repetitive tasks so they aren’t typing the same things over and over again. Use of the shell is fundamental to using a wide range of other powerful tools and computing resources (including “high-performance computing” supercomputers). These lessons will start you on a path towards using these resources effectively.

This lesson guides you through the basics of file systems and the shell. If you have stored files on a computer at all and recognize the word “file” and either “directory” or “folder” (two common words for the same thing), you’re ready for this lesson. If you’re already comfortable manipulating files and directories, searching for files with grep and find, and writing simple loops and scripts, you probably won’t learn much from this lesson

This workshop is based on material from Software Carpentry, although the workshop itself is not an official Software Carpentry event.

Workshop notes: https://researchcomputingservices.github.io/shell-novice/

Duration: 2h45m

Topics

  1. Introducing the Shell
  2. Navigating Files and Directories
  3. Working With Files and Directories
  4. Pipes and Filters
  5. Loops
  6. Shell Scripts
  7. Finding Things

What you’ll need:

  • Laptop (Mac or Windows).
  • MobaXterm if on Windows (http://mobaxterm.mobatek.net/download.html) but not needed for Mac OSX users.

RCS Workshop 2: Introduction to Remote Systems

Overview

Researchers often find themselves confronted with large amounts of data to process or large simulations to run. These sorts of problems can take more time and computer hardware than is readily available on personal computers. These lessons will introduce the participant to using a remote Linux server for running their resource intensive programs. Some previous experience with the shell would be helpful, which may be obtained from RCS Workshop I: Introduction to Linux Shell

Workshop notes: https://researchcomputingservices.github.io/remote-access/

Duration: 2h45m

Topics

  1. Interacting with a server
  2. Monitoring Resources
  3. Running jobs in background
  4. Running a Program Remotely with a GUI
  5. Using Research Storage

What you’ll need:

RCS Workshop 3: Introduction to Parallel Computing using MATLAB

Overview

Do you write code that needs to run more quickly? For computationally intensive code, improving performance is often an important concern.

Parallel computing provides techniques to write programs that use multiple processor cores. A major difference among all modern computers, from quad-core personal laptops to the largest supercomputer, is in the number of available processor cores. In all cases, learning how to harness the additional compute power of multiple cores can be a big boost to how fast you can get results from the programs that you run.

This workshop is split into two halves. Lessons in the first half describe parallel computing concepts and issues, while the second half applies these concepts to practical examples in the MATLAB language.

Workshop notes: https://researchcomputingservices.github.io/parallel-computing/

Duration: 2h45m

Topics

  • Parallel vs Sequential Computing
  • Limitations of Parallel Speedup
  • Types of Parallel Workers
  • Hardware bottlenecks and overhead
  • Writing Parallel Code
  • MATLAB: Parallel Programming
  • MATLAB: Case Studies
  • MATLAB: Vectorization
  • MATLAB: Best Practices

What you’ll need:

  • General programming knowledge for first part of the workshop.
  • Knowledge of MATLAB basics for second part of the workshop.