EE 155 / CS 122
Parallel computing (a.k.a. high-performance computing)
Resources
- Instructor: Joel Grodstein, joel.grodstein@tufts.edu
- TAs: Dan Bergen, Sam Hecht, Amitav Nott, Julia Zelevinsky
- Course schedule: Mon/Wed 1:30-2:45pm in Anderson 212
- Office Hours: MW noon-1:15 or by appointment (Joel, in Halligan 222);
Mon 5-7pm in Halligan 267; Wed 6-8pm in Halligan 118; Thurs 3-4pm in Halligan 230 (or overflow in Halligan 269)
- For emergencies or private matters, please e-mail or see me directly.
Calendar, syllabus, misc
- The class calendar is here; the oral-quiz signup sheet is
here
- A syllabus is here.
- A flashy advertisement for the class is here.
- Transition-to-GPU videos are here (24 minutes).
- initial GPU videos are here (47 minutes).
- final GPU videos are here (52 minutes).
Assignment logistics
- For programming labs, all of the library code can be found in
/ee/155/public_html/labs/code/*cxx,*hxx.
- You should compile your multiprocessor C++ code with c++ -pthread -std=c++20 -O2 your_file.cxx ee155_utils.cxx
- Run your C++-threads labs (i.e., Lab1-Lab3) on the Linux boxes in Halligan 269, named lab120a-lab120v.
There are other Linux machines named lab269* in the room; these machines are different and shouldn't be used.
Before you collect benchmark data, you should reboot the machine to ensure a consistent environment.
Fully detailed instructions are in the assignment for Lab #1.
- Labs 4 and 5 use a GPGPU.
We do not support GPUs on Linux machines; instead, you'll use the Tufts high-performance compute cluster for your GPU labs.
Here is more information and
debug hints
- Turn in your lab via Provide at this link.
Lab #1 (histograms)
Lab #2 (breaking your server)
Lab #3 (multiprocessor matrix multiply)
Lab #4 (GPU matrix multiply)
Lab #5 (GPU CNN)