Course Description

COSC462 covers principles and practice of parallel computing; design, implementation, and evaluation of parallel programs for shared and distributed memory architectures, and vector processors. Sample topics include models of parallel computers, basic communication operations, performance and scalability of parallel systems, and programming techniques including multi-threading and message passing.

Prerequisites

CS360

Required/Suggested Textbooks

Links

Schedule

Monday, Wednesday and Friday from 1:00PM until 1:50PM ET. This year the COSC462 class is held entirely online using the following link Zoom. The password has been sent over email, and can also be found in the class announcement in Canvas.

Grading

Suggested tools

Online teaching

    • All online teaching will be done using the UTK provide tools (mainly zoom). The link for the class will be posted below before the class start. We will try to use the same unique zoom link (and password) for the entire duration of the class, except unexpected events.
    • Discussion will be done using Piazza, as indicated in the above paragraph.
    • Homework will be submitted using Github, which means you are expected to familiarize with the usage of git, pull, push, merge, pull requests. The homework will be made available at COSC462-UTK/hw20, in a subdirectory with the homework name. You should ask for access permission (the repo is private, but all students will get read access), and create a fork of this repo. You will need to set a remote on your local copy, to be able to pull all updates on the class homework repo. After solving the homework you will need to push into your repo, and a bot will pull your homework, compile it and run it on one of our clusters. The output will be provided back to you via email.
    • There will be no in-person session nor discussion with the lecturers. All 1-on-1 sessions will therefore be online, at the request of the student. If you need help or advice on a class related topic, please send an email and we will arrange a Zoom meeting with one of the two lecturers.

Lecture Notes

Week 34 (08/17 - 08/21)
Week 35 (08/24 - 09/28)
Week 39 (09/21 - 09/25)
Homework #1 due on Friday 01:00PM ET
Week 40 (09/28 - 10/02)
Homework #2 due on Friday 11:59PM AoE
Week 42 (10/12 - 10/16)
Homework #3 due on Friday 01:00PM ET
Week 43 (10/19 - 10/23)
Week 45 (11/02 - 11/06)
Week 46 (11/09 - 11/13)
Week 47 (11/16 - 11/20)
Week 48 (11/23 - 11/27)
Week 49 (11/30 - 12/04)
    • Thanksgiving Holiday and Study Days
    • The exam will be provided by email. The deadline is one week later on 12/09 1PM ET.
    • We will gather the projects on Friday 12/04 at 1PM
Week 49 (12/06 - 12/09)

Homework

Exams

Project

Topics (not covered in class):
Kotlin Coroutines Howell, Spencer and Haworth, Ethan (video)
Vulkan (graphics API) Ben Klein, Aiden Rutter and Alexander Lambert (video)
Quantum computing James Tue, Tristen Finley (video)
Google TPU Chong Su (video)
FPGAs Available
Cloud applications on FPGAs Available
ASICs Available
Comparative study between NVIDIA Volta, Pascal, Xavier and Intel KNL or KML (pick any 2) Available
New/Future processors Noah Hobson (video)
New/Future network technologies Available
Photonic Computing Smit Patel (video, slides)
Distributed Graphs: Dask + MPI Johnston, Nathan and Perryman, Elliott (video)
Neuromorphic Computing Racheal Dylewski
Blockchain economy Available
WAVE Computing Available
Processor in memory [PIM] Available
Processor in network [PIN] Available
Random number generator Available
Machine Learning algorithms Available
Stackable memory Available
Programming Languages (focus on parallelism and/or concurrency) TBB/CnC/UPC/TensorFlow/Julia/TaskFlow/TaskTorrent/Kokkos (pick 1) Available
Programming Languages: Kokkos Neil Lindquist (Kokkos)
Swift Available
TensorFlow Available
Intel Threading Building Blocks (TBB) Available
Julia programming language Coffey Hayden, Shivam Patel, and Viktor Zenko (video, github repo with examples)
Apache Spark Available
Execution models and their implementations (HPX, SWARM) (pick 1) Available
Each project done by a group (2-3 students)
    Delivery
    • Video link (YouTube, Vimeo, ...) made available to all class participants
    • 5 minutes maximum
    • Content
    • Slides
    • Animation
    • Narration
    • Links for references and/or more info
Project due on 12/08 @ 5PM ET

Instructors

George Bosilca  George

  • Office: Claxton Building, Room 308
  • Email: bosilca at icl.utk.edu
  • Office Hours: please send email for appointment, and we will meet by Zoom.

Piotr Luszczek  Piotr

  • Office: Claxton Building, Room 218
  • Email: luszczek at icl.utk.edu
  • Office Hours: please send email for appointment, and we will meet by Zoom.

Links