Instructor | Esteban Meneses, PhD |
|
esteban DOT meneses AT acm DOT org |
Institution | Instituto Tecnológico de Costa Rica |
Location | Main Campus, Cartago, room B1-05 |
Time | Tuesdays, Thursdays 3:00-4:40pm |
TermII | I semester, 2016 |
WEEK | DATE | TOPIC | PRESENTER | ASSIGMENT |
---|---|---|---|---|
1 | February 9 | Introduction | ||
February 11 | History | |||
2 | February 16 | Vademecum Parallel Programming Design Patterns |
||
February 18 | Machine Problem 1 | |||
3 | February 23 | Computer Organization | ||
February 25 | Homework 1 | |||
4 | March 1 | Cache Coherence | ||
March 3 | Homework 2 | |||
5 | March 8 | Shared-memory Programming | ||
March 10 | ||||
6 | March 15 | Machine Problem 2 | ||
March 17 | ||||
March 22 | No Class: Holy Week | |||
March 24 | No Class: Holy Week | |||
7 | March 29 | Interconnects | ||
March 31 | Machine Problem 3 | |||
8 | April 5 | Performance Models | ||
April 7 | Homework 3 | |||
9 | April 12 | Distributed-memory programming | ||
April 14 | Homework 4 | |||
10 | April 19 | Midterm Exam | ||
April 21 | ||||
11 | April 26 | Accelerator Programming | ||
April 28 | Machine Problem 4 | |||
12 | May 3 | Parallel Algorithms | ||
May 5 | Project | |||
13 | May 10 | The Charm++ Parallel Programming Language | ||
May 12 | ||||
14 | May 17 | The UPC Parallel Programming Language | Kenneth Fernández Rodrigo López |
|
May 19 | The Chapel Parallel Programming Language | Edward Umaña Luis Daniel Ramírez |
||
15 | May 24 | The OmpSs Parallel Programming Language | Melvin Gutiérrez Daniel Canessa |
|
May 26 | The OpenSHMEM Parallel Programming Language | Byron Rojas Johan Oviedo |
||
16 | May 31 | The Swift High Performance Dataflow Computing System | Jose Daniel Badilla | |
June 2 | The ARM Architecture | Kevin Umaña Daniel Araya |
||
June 9 | Final Exam | Room F4-07, 3:00-5:00pm |
Resources
GitLab
Cadejos Supercomputer User Guide
Cadejos Quick Guide
There are 3 types of nodes in Cadejos: a login node (called meta), several compute nodes (called cadejos-i), and a development node (called vulcanus.cnca). All nodes share the same file system, but the compilers are only available on the compute and development nodes. Also, programs should be executed only on the compute nodes.
There are two ways to access the compute and development nodes: interactive or batch jobs. An interactive job lets the user directly access a node for some time window. A batch job executes a program on the first available set of nodes that satisfy the requirements of the program. Either way, all the jobs must go through a scheduler. The scheduler has 3 queues, dev for development and testing of your code, and n3h72 or n4h48 for actual runs. Cadejos uses PBS (Portable Batch System) to schedule the jobs. Here are some useful PBS commands.
- Submit an interactive job:
qsub -I -V -q dev -l nodes=1 -l walltime=00:30:00 - Submit an interactive job for development:
qsub -I -V -q dev -l nodes=vulcanus.cnca -l walltime=00:30:00 - Submit a batch job:
qsub script.pbs
where script.pbs is a file containing the PBS commands to run a program. For instance:
#PBS -N life
#PBS -q n3h72
#PBS -l nodes=1
#PBS walltime=0:30:00
cd $PBS_O_WORKDIR
./life 10 10 - Query the status of the jobs:
qstat - Cancel a job:
qdel <job_id>