Banner image shows DAS-4 nodes at Leiden University (adapted from photo by Vianney Govers)

## High Performance Computing I, Fall 2019

**Lecturer:** prof.dr. H. A. G. Wijshoff

**Teaching/Lab Assistent:** Dennis van der Zwaan (hpc1-2019@dvdzwaan.com)

### Description

The course presents an introduction to High Performance Computing and more specifically parallel/pipelined programming and high performance architectures and subsequently the study of parallel algorithm design, parallel numerical computing, parallel graph computing and parallel sorting. Existing and new (high performance / parallel) programming paradigms will be discussed. The course lectures are completed with programming assignments and/or (theoretical) algorithmic problems.

**LAB SESSION on ASSIGNMENT 3, THURSDAY 12 DECEMBER AT 14:00**

### Examination

40% assignments: programming assignments. 60%: Open "book" final exam.

Example exams: Exam 2015, Exam 2016, Exam 2017.

### Assignments

**Assignment 1:** Sparse LU Factorization. The skeleton code for this assignment can be found here. For those of you who want to work on an apple (MAC OS) platform a new skeleton code is made available and can be found here. **Note that for using this code a gcc version of 4.9.0 is required**. The deadline for this assignment is *Monday, October 14, 23:59 hours*.

**Assignment 2: ** Parallel Minimum Spanning Tree Algorithm. The deadline for this assignment is *Wednesday November 20, 23:59 hours*

Note that your implementation should also handle disconnected graphs, resulting
in multiple spanning trees. Note also that as output you should report
the total weight of each minimum spinning tree **as well as** the
edges which belong to the spanning tree.

**Assignment 3: ** Parallel Sorting Algorithm. The deadline for this assignment is *Friday December 20, 23:59 hours*.

### Literature

**Textbook (not obligatory)**: *Introduction to Parallel Computing*. Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar. 2003. Addison Wesley.

**Lecture Slides:**

- Lecture 1
- Lecture 2
- Lecture 3
- Lecture 4
- Lecture 5
- Lecture 6
- Lecture 7
- Lecture 8
- Assignment 2 Slides
- Lecture 9
- Lecture 10
- Lecture 11
- Lecture 12

### Contact

One can contact the lecturer by e-mail: harryw (at) liacs.nl

### Class Schedule

**Lectures:** Thursdays from 14:15 to 16:00 in room 408.

Date | Description |
---|---|

Th. 5 September |
Hour 5, 6: Lecture: Introduction |

Th. 12 September |
No lecture this week |

Th. 19 September |
Hour 5, 6: Lecture: Implicit and Explicit Parallelism |

Th. 26 September |
Hour 5, 6: Lecture: Introduction Sparse Matrix Computations |

Th. 3 October |
No lecture this week |

Th. 10 October |
Hour 5, 6: Lecture: Fundamentals of Parallel Programming |

Mon. 14 October |
Deadline first programming assignment |

Th. 17 October |
Hour 5, 6: Lecture: Fundamentals of Parallel Programming |

Th. 24 October |
Hour 5, 6: Lecture: Parallel Sparse Matrix Computations |

Th. 31 October |
Hour 5, 6: Lecture: Parallel Graph Computations |

Th. 7 November |
Hour 5, 6: Lecture: Parallel Graph Computations |

Th. 14 November |
Hour 5, 6: Lecture: Parallel Sorting |

Wed. 20 November |
Deadline second programming assignment |

Th. 21 November |
Hour 5, 6: Lecture: Parallel Sorting and Parallel Programming Paradigms |

Th. 28 November |
No lecture this week |

Th. 5 December |
Hour 5, 6: Lecture: Parallel Programming Paradigms |

Wed. 20 December |
Deadline third programming assignment |