Introduction to High Performance Computing with the Raspberry Pi

This lesson introduces using the High Performance Computing with a Raspberry Pi cluster.

Prerequisites

Some basic experience of the Unix command line is expected. The material covered in the Software Carpentry Introduction to Unix Shell (http://swcarpentry.github.io/shell-novice/) is more than enough to cover this.

Schedule

Setup Download files required for the lesson
00:00 1. Introduction to High Performance Computing What does a High Performance Computing system consist of?
00:10 2. Logging in to the cluster How can do I login to the cluster?
00:45 3. Filesystems and Storage Where can I store my data?
What is the difference between scratch and home filestore?
01:30 4. Running Jobs with Slurm How do I run a job with the Slurm scheduler?
02:25 5. Profiling Single Core Performance How do I find the portion of a code snipped that consumes the longest time?
03:25 6. Parallel Estimation of Pi What are data parallel algorithms?
How can I estimate the yield of parallelization without writing one line of code?
How do I use multiple cores on a computer in my program?
04:00 7. Distributing computations among computers with MPI What issued the message passing interface (MPI)?
How do I exploit parallelism using the message passing interface (MPI)?
04:55 8. HPC Best Practice What are the best practices for using an HPC system?
04:55 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.