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 Textbook

Schedule

Monday, Wednesday and Friday from 11:15AM until 12:05PM, Min Kao 524

Grading

Suggested tools

Lecture Notes

Week 34 (08/21 - 08/25)
Week 35 (08/28 - 09/01)
Week 38 (09/18 - 09/22)
Homework #1 due on Friday 11:59PM AoE
Week 39 (09/25 - 09/29)
Homework #2 due on Friday 11:59PM AoE
Week 40 (10/02 - 10/06)
Week 41 (10/09 - 10/13)
Week 42 (10/16 - 10/20)
Week 43 (10/23 - 10/27)
Week 44 (10/30 - 11/03)
Homework #3 due on Tuesday 10/31 11:59PM AoE
Week 45 (11/06 - 11/10)
Homework #4 due on Monday 11/06 11:59PM AoE
Week 46 (11/12 - 11/17)
Week 47 (11/19 - 11/24)
Week 48 (11/27 - 12/01)
Homework #5 due on Wednesday 11/29 11:59PM AoE
Week 49 (12/04 - 12/08)
Project Due on Friday 12/08 @ 5PM ET
Week 50 (12/11 - 12/15)

Homework

Exams

Project

Topics (not covered in class):
FPGAs Blake, Madison (slides)
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 Vidineyev, Arthur (slides)
New/Future network technologies Available
Quantum computing Marshall, Tyler and Nguyen, Clara and Poff, Jeremy
Photonic Computing Carpenter, Matthew
Neuromorphic Computing Haynes, Jacob (slides)
Blockchain economy Allen, Jacob and Penley, Kane and Bilbrey, Brandon
Google TPU Vargo, Jacob
WAVE Computing Available
Processor in memory [PIM] Available
Processor in network [PIN] Available
Random number generator Parten, Alec (slides)
Machine Learning algorithms Swanson, David (slides)
Stackable memory Available
Programming Languages (focus on parallelism and/or concurrency) TBB/CnC/UPC/TensorFlow/Julia/Kokkos (pick 1) Available
Swift Ordway, Adam and Sloan, Brandon and Johnson, Benjamin Leland (Swift, slides)
TensorFlow Hanumantharayappa, FNU and Jiali, Li (TensorFlow, slides)
Intel Threading Building Blocks (TBB) Zhu, Qingzhao (slides)
Julia programming language Samuel Barton, Chad Davidson and MacNeil, Matthew (slides)
Apache Spark Available
Vulkan (graphics API) Wakefield, Chase and Jaco, John
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, or stop by to chat from 8 to 5 weekdays.

Piotr Luszczek  Piotr

  • Office: Claxton Building, Room 218
  • Email: luszczek at icl.utk.edu
  • Office Hours: please send email for appointment, or stop by to chat from 8 to 5 weekdays.

TA: Phillips, Charles 

  • Office:Min H. Kao Building, Room 210
  • Email: cphill25 at vols.utk.edu
  • Office Hours: please send email for appointment, or stop by to chat from 8 to 5 weekdays.

Links