SU23 – WES237B
Syllabus
While we do not anticipate any major changes, we note that the details in this syllabus may change (e.g. schedule, grading policy, assignments, etc.). We will update this syllabus in the event of changes as the course progresses.
Agenda
Saturday, July 8 – First Class
Morning Session—Lecture
12:00-13:00 Lunch!
Afternoon Session—Lab 1, Assignment 1
Lab: Introduction to the Jetson TX2 platform
Assignment: Refreshing C, Huffman compression (Due: July 24)
Saturday, July 22 – Second Class
Morning Session—Lecture:
12:00-13:00 Lunch!
Afternoon Session—Lab 2, Assignment 2
Lab: PYNQ, OpenCV, and basic DCTs
Assignment: Matrix math, 2D DCTs, and profiling
Saturday, August 5 – Third Class
Morning Session—Lecture:
10:45-11:00 Break / Slack
11:00-11:50 Student Presentation
Himanshu Dutta, Kiran Gonipati (Machine Learning Systems are Stuck in a Rut) - [pptx]
Akshaya Bhat, Sienna Landa, Sophie Harris (Lossy compression of statistical data using quantum annealer) - [Google Slides]
11:50-12:00 Break / Slack
12:00-13:00 Lunch!
Afternoon Session—Lab 3, Assignment 3
Lab: ARM NEON, PYNQ vs. Jetson, optimizations in practice, gprof
Assignment: Implementing a Sobel filter, benchmarking Sobel implementations
Saturday, August 19 – Fourth Class
Morning Session—Lecture:
9:00-10:45 SIMD, CUDA, CUDA memory & performance [pptx] [pdf]
10:45-11:00 Break / Slack
11:00-11:50 Student Presentation
Yi Song, Sebastian Nevarez (Autoware on Board: Enabling Autonomous Vehicles with Embedded Systems, A Software Architecture for an Autonomous Racecar) - [Google Slides]
Ryen Castillo, Lilian Vu (Video-Based Cryptanalysis: Extracting Cryptographic Keys from Video Footage of a Device’s Power LED, Exploiting a Video Camera's Rolling Shutter to Recover Secret Keys from Devices Using Video Footage of Their Power LED, Minerva: The curse of ECDSA nonces, Minerva: Lattice attacks strike again, Hertzbleed: Turning Power Side-Channel Attacks Into Remote Timing Attacks on x86, Hertzbleed Attack, DVFS Frequently Leaks Secrets: Hertzbleed Attacks Beyond SIKE, Cryptography, and CPU-Only Data) - [Google Slides]
11:50-12:00 Break / Slack
12:00-13:00 Lunch!
Afternoon Session—Lab 4, Assignment 4
Lab: CUDA basics, GPU-accelerated image processing with CUDA
Assignment: Sobel and BMM with CUDA
Saturday, September 2 – Fifth & Final Class
Morning Session—Lecture:
9:00-10:45 Parallel & Streaming Programming Patterns, Deep Learning (Lite) [pptx] [pdf]
10:45-11:00 Break / Slack
11:00-11:50 Student Presentation
Yaqoob Hanona, David Rodriguez (Powering a microprocessor by photosynthesis, 1 Powering a Microprocessor by Photosynthesis, 1 Supplementary Materials for “Powering a Microprocessor by Photosynthesis”, White paper Copyright © 2017 ARM Limited or its affiliates. All rights reserved. Page 1 of 14 The route to a trillion devices, Cortex-M0+ Technical Reference Manual) - [Google Slides]
Matthew Hatch, Nathaniel Mosk (In-Memory Computing in Emerging Memory Technologies for Machine Learning: An Overview ) [Google Slides]
11:50-12:00 Break / Slack
12:00-13:00 Lunch!
Afternoon Session—Lab 5, Assignment 5
Lab: Using ML to learn simple circuits
Assignment: Machine learning, how to make it and how to use it
Course Logistics
Pat Pannuto is the instructor and their office is CSE 3202 (right in the corner). Their email is ppannuto@ucsd.edu; please remember to include WES237B in the subject line for class issues.
What should you call me?
For folks in the MAS program, "Pat" is fine. I also respond to Professor, Professor Pannuto, Dr. Pannuto, “Prof[essor] P.”, etc.
What should I call you?
I should call you by your preferred name, with the correct pronunciation and any honorific or pronouns you choose. Please correct me (in the chat if there is one, out loud in class or in Zoom, or via email/chat after the fact – however you are most comfortable) if I make a mistake.
TA
Chris Crutchfield - ccrutchf@ucsd.edu
Office Hours
Office Hours will be hybrid.
In-person office hours will be in CSE3219 (the same location as the Lab).
For remote, via Zoom: https://ucsd.zoom.us/j/91531679392?pwd=NTh3Y3phRXJNM0VUU2ErWm9VYjNmZz09.
During the week, OH will be Tue 7pm-8pm and Sat 10am-12pm.
Slack
Please use the course slack channel for any quick concerns. You're welcome to use it as a social channel as well, e.g. to organize groups and meetups, etc.
Grading
Student group research and participation: 30%
Class participation: 10%
Group research and presentation: 20%
Assignments : 70%
Assignment 1: 10%
Assignments 2 to 5: 15% each
Generally: 5% lab portion, 5% working final code, 5% writeup
Late Policy
Within one week of original deadline: 10% penalty.
Within two weeks of original deadline: 30% penalty.
Submissions are not accepted more than two weeks past the original deadline. (For exceptional situations, please email Pat, and we'll work something out.)
Attendance
Attendance is required for this course. We also recognize that life happens, and we will work with you if you need to miss a class.
No-show (without notice); late: -5% / occurance. (Need to explicitly get permission each occasion; preferably in advance, but we know life happens.)