Introduction to High-Performance Computing: Learner Prerequisites

This page collects questions that learners can answer in order to judge if they bring all prerequisites to the course.

Required Pre-Knowledge

Basic Shell – Navigating directories, Copy/Moving, writing shell scripts, using the environment, using wildcards.

Pre-Workshop Survey

For a motivation of this survey type, see Greg Wilson’s template in Teaching Tech Together.

Shell

Moving Things

You are provided with a directory of 300 files that end with .log, .data and .err at equal proportions. You want to rename all .log files to .out files. How do you do this?

  1. I can do that. Give me a shell and I’ll show you.
  2. I’d need to look up the syntax in a cheatsheet or some old code and I’m good to do this.
  3. I am unclear about this, I’d have to consult a colleague or a search engine to do this.
  4. I am not sure what to do.

Moving Around

You are on /bigdata/users/wolfman/projects/study and want to jump over to /bigdata/projects/experiments/at-moonlight on the command line.

  1. I can do that. Give me a shell and I’ll show you.
  2. I’d need to look up the syntax in a cheatsheet or some old code and I’m good to do this.
  3. I am unclear about this, I’d have to consult a colleague or a search engine to do this.
  4. I am not sure what to do.

Collaborator Candy

A collaborator provides you an implementation of a state-of-the-art simulation that you need to compare your own predictions to. He tells you: “You can use it on the command line right away. Unpack the file I sent you and use the sim executable in the bin/ folder from it. The rest is explained in the output of the --help flag.”

You want to use this new program on your cluster, starting with reading the “help” message from the sim executable.

  1. I can do that. Give me a shell and I’ll show you.
  2. I’d need to look up the syntax in a cheatsheet or some old code and I’m good to do this.
  3. I am unclear about this, I’d have to consult a colleague or a search engine to do this.
  4. I am not sure what to do.

Automating All the Things

You notice that you’ve been copying & pasting the same sequence of 5 shell commands more than a few times during the day. It occurs to you that capturing the workflow in a shell script would simplify the task and make it more repeatable. The script would take two arguments, i.e. the file to read data from and a new filename to write the processed results into.

  1. I can do that. Give me a shell and I’ll show you.
  2. I’d need to look up the syntax in a cheatsheet or some old code and I’m good to do this.
  3. I am unclear about this, I’d have to consult a colleague or a search engine to do this.
  4. I am not sure what to do.