Administrativa
Instructor Esteban Meneses, PhD

Email

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

 

Schedule
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>