COSC 420

High-Performance Computing

Mathematics & Computer Science
Salisbury University

Syllabus

Lecture: MWThF 9-9:50am HS 143
Lecturer: Joe Anderson
Office: 128 Henson Hall
Office Hours: M 10am-12pm, W 10-11am, Th 8-9am, F 8-9am
Homework 0: Come to office hours and say "hello" by September 3

Weekly assignments: complete reading and turn in assigned exercises by the Monday lecture following their assignment.

Project 1: Password Cracking (Due: 17 October)
Project 2: arXiv Search Engine - arXiv Metadata - arXiv Citations (Due: 5 December)

Exam 1: 1 October

Exam 2: 19 November

Final Exam: 16 December 10:45am-1:15pm

Week Topics Files Readings Lab & Project files
1 Introduction, hardware vs software parallelism, MPI software Introduction and SPMD Slides
hello.c
Notes
IHPSC 1.2-1.4, Ex. 1.1-1.4
PPMPI Chapter 1, 2.1-2.4
Lab 1
2 Parallel programming, collectives Slides
allreduce.c
scattergather.c
HPSC Section 2.1, 2.2 (No exercises this week!)
PPMPI Section 3.1-3.4
3 Matrix operations, Caches, data locality, Quantification of parallelism Slides
matrix.c
HPSC Section 1.6-1.7, Exercises 1.16, 1.17, 1.19, 1.21, 1.22 Lab 2
4 Point-to-point communication Slides
pingpong.c
slurm.sh
scatterv.c
HPSC Section 2.1, 2.2 Exercises 2.1, 2,2, 2.4, 2.5
words.txt
shadow
5 File I/O, shared memory, Exam 1 ring.c
No exercises. Study for the exam!
6 Shared memory tools, file windows, custom datatypes Slides

HPSC Section 2.2, 2.3, 2.4 -- Exercises 2.6, 2.8, 2.10, 2.11

PPMPI Section 5.3

Lab 3
util.h
filewrite.c
matblocks.c
matblockscatter.c
windowwrite.c
crypttest.c
7 Topologies, Sorting networks, Quicksort with shared memory, bitonic sort, parallel graph algorithms Slides
recvnotes.txt
stringstuff.c
filewritechar.c
asyncmessages.c
asyncmessages2.c
8 Graph algorithms, MST, All-Pairs Shortest paths, indepdendent sets Slides HPSC 9.1-9.5.
9 Numerical linear algebra, project discussion Slides No reading. Review code and algorithms needed for Project 2. lab3notes.txt
10 Numerical Precision Discussion precision.c
No reading, try representing the number Pi with different floating point system parameters. Lab 4
11 Error analysis, numerical linear algebra
12 Building a cluster, Exam 2 Cluster Diagram Lab 5
13 Monte carlo methods and random numbers, python intro Slides HSPC 5.5.1 - 5.5.7
Python Docs
mpi4py docs
paperlist.h
structwrite.c
structread.c
14 Ising Model, Final Exam pythonintro.py
hellompi.py
Ising.ipynb
HSCPC Ch 11