Schedule (Tentative)
The following is my compile-time schedule of this term. It will be updated as we collect more runtime information.
The presentation schedule/sign-up sheet is here.
Introduction (8/30) slides
Required Reading
- Dark Silicon and the End of Multicore Scaling ISCA'11
- Understanding Sources of Inefficiency in General-Purpose Chips ISCA'10
- Chapter 7.1, 7.2, Computer Architecture: A Quantitative Approach (6th Edition)
Further Reading
- Mobile CPU's Rise to Power: Quantifying the Impact of Generational Mobile CPU Design Trends on Performance, Energy, and User Satisfaction HPCA'16
- Clock Rate versus IPC: The End of the Road for Conventional Microarchitecture ISCA'00
- Power struggles: Revisiting the risc vs. cisc debate on contemporary arm and x86 architectures HPCA'13
- Looking back on the language and hardware revolutions: measured power, performance, and scaling ASPLOS'11
Image Sensing (9/4)
Required Reading
- Energy Characterization and Optimization of Image Sensing Toward Continuous Mobile Vision MobiSys'13 (9/4)
Further Reading
- ASP Vision: Optically Computing the First Layer of Convolutional Neural Networks using Angle Sensitive Pixels CVPR'16
- RedEye: Analog ConvNet image sensor architecture for continuous mobile vision ISCA'16
- Simultaneous Imaging and Energy Harvesting in CMOS Image Sensor Pixels IEEE Electron Device Letters (Volume: 39, Issue: 4, April 2018)
- Computational imaging enables a "see-through" lens-less camera IEEE Spectrum Aug 2018. The academic paper is here, Optics Express Vol. 26, Issue 18, pp. 22826-22836 (2018).
Imaging and Vision Hardware (9/6, 9/11, 9/13)
Required Reading
- Exploring architectural heterogeneity in intelligent vision systems HPCA'15 (9/6)
- A Patch Memory System For Image Processing and Computer Vision MICRO'16 (9/11)
- Convolution Engine: Balancing Efficiency & Flexibility in Specialized Computing ISCA'13 (9/13)
Further Reading
- The Rise of Mobile Visual Computing Systems IEEE Pervasive Computing (Volume: 15, Issue: 2, Apr.-June 2016)
- Evaluating Programmable Architectures for Imaging and Vision Applications MICRO'16
- Exploring Computation-Communication Tradeoffs in Camera Systems IISWC'17
- Always-on Vision Processing Unit for Mobile Applications IEEE Micro (Volume: 35, Issue: 2, Mar.-Apr. 2015)
- IDEAL: Image DEnoising AcceLerator MICRO'17
- Optimum Pinhole Camera Design
- Reconfiguring the Imaging Pipeline for Computer Vision ICCV'17
- Dirty Pixels: Optimizing Image Classification Architectures for Raw Sensor Data CVPR'17
- Recovering High Dynamic Range Radiance Maps from Photographs SIGGRAPH '97. Has a nice (albeit a bit out-dated) description of image sensing pipeline.
- Burst photography for high dynamic range and low-light imaging on mobile cameras SIGGRAPH ASIA'16
- Deep Bilateral Learning for Real-Time Image Enhancement SIGGRAPH'17
- Light Field Rendering SIGGRAPH '96
- Light Fields and Computational Imaging IEEE Computer (Volume: 39, Issue: 8, 2006)
- Digital Light Field Photography Doctoral Dissertation'06. Chapter 2 and 3 are particularly informative to read and easy to follow.
Systems for Imaging and Vision (9/18, 9/20)
Required Reading
- Chapter 7.7, Computer Architecture: A Quantitative Approach (6th Edition). No presentation needed. But read to get the background knowledge.
- The Frankencamera: An Experimental Platform for Computational Photography SIGGRAPH'10 (9/18)
- Starfish: Efficient Concurrency Support for Computer Vision Applications MobiSys'15 (9/20)
Further Reading
- Glimpse: A Programmable Early-Discard Camera Architecture for Continuous Mobile Vision, MobiSys'17
- Event-based Vision, Event Cameras, Event Camera SLAM
Language for Imaging and Vision (10/2, 10/4, 10/9, 10/11)
Required Reading
- Opt: A Domain Specific Language for Non-linear Least Squares Optimization in Graphics and Imaging SIGGRAPH'18 (10/2)
- Darkroom: Compiling High-Level Image Processing Code into Hardware Pipelines SIGGRAPH'14 (10/4)
- PolyMage: Automatic Optimization for Image Processing Pipelines ASPLOS'15 (10/9)
- Automatically Scheduling Halide Image Processing Pipelines SIGGRAPH'16 (10/11)
Further Reading
- Rigel: Flexible Multi-Rate Image Processing Hardware SIGGRAPH'16
- Halide: A Language and Compiler for Optimizing Parallelism, Locality, and Recomputation in Image Processing Pipelines PLDI'13
- An Effective Fusion and Tile Size Model for Optimizing Image Processing Pipelines PPoPP'18
Virtual Reality (10/18, 10/23, 10/25)
Required Reading
- Cutting the Cord: Designing a High-quality Untethered VR System with Low Latency Remote Rendering MobiSys'18 (10/18)
- FlashBack: Immersive Virtual Reality on Mobile Devices via Rendering Memoization MobiSys'16 (10/23)
- Rubiks: Practical 360-Degree Streaming for Smartphones MobiSys'18 (10/25)
Further Reading
VR video capture:
- Creating Full View Panoramic Image Mosaics and Environment Maps SIGGRAPH'97. A classic algorithm to create panoramic images; basis for modern algorithms.
- A Hardware-Friendly Bilateral Solver for Real-Time Virtual Reality Video, HPG'17
- SpinVR: Towards Live-Streaming 3D Virtual Reality Video, SIGGRAPH ASIA'17
- Survey of Texture Mapping, IEEE Computer Graphics and Applications (Volume: 6, Issue: 11, Nov. 1986)
- The Design and Analysis of a Cache Architecture for Texture Mapping ISCA'97
Machine Learning and Deep Learning (10/30, 11/1, 11/6, 11/8)
Required Reading
- Chapter 7.3, 7.4, Computer Architecture: A Quantitative Approach (6th Edition). No presentation, but read it to get the background knowledge.
- EVA2: Exploiting Temporal Redundancy in Live Computer Vision ISCA'18 (10/30)
- Fused-Layer CNN Accelerators MICRO'16 (11/1)
- SCNN: An Accelerator for Compressed-sparse Convolutional Neural Networks ISCA'17 (11/6)
- From High-Level Deep Neural Models to FPGAs MICRO'16 (11/8)
Further Reading
- Chapter 7.5, 7.6, Computer Architecture: A Quantitative Approach (6th Edition).
- Efficient Processing of Deep Neural Networks: A Tutorial and Survey, Proceedings of the IEEE (Volume: 105, Issue: 12, Dec. 2017)
- A Domain-Specific Architecture for Deep Neural Networks CACM (August 2018, Vol. 61 No. 9, Pages 50-59)
- Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding ICLR'16
- EIE: Efficient Inference Engine on Compressed Deep Neural Network ISCA'16
- Eyeriss: A Spatial Architecture for Energy-Efficient Dataflow for Convolutional Neural Network ISCA'16
- Minerva: Enabling Low-Power, Highly-Accurate Deep Neural Network Accelerators ISCA'16
- TABLA: A Unified Template-based Framework for Accelerating Statistical Machine Learning HPCA'16
- Prediction based Execution on Deep Neural Networks ISCA'18
- SnaPEA: Predictive Early Activation for Reducing Computation in Deep Convolutional Neural Networks ISCA'18
- All-optical machine learning using diffractive deep neural networks, Science (2018): eaat8084.
- Hybrid optical-electronic convolutional neural networks Scientific Reports'18
SoC Optimizations (11/13, 11/15, 11/20)
Required Reading
- Chapter 7.8, Computer Architecture: A Quantitative Approach (6th Edition). No presentation needed.
- Euphrates: Algorithm-SoC Co-Design for Low-Power Mobile Continuous Vision ISCA'18 (11/13)
- VIP: Virtualizing IP Chains on Handheld Platforms ISCA'15 (11/15)
- Race-to-sleep + content caching + display caching: a recipe for energy-efficient video streaming on handhelds MICRO'17 (11/20)
Further Reading
Robotics and Autonomous Vehicle (11/27, 11/29, 12/4)
Required Reading
- RoboX: An End-to-End Solution to Accelerate Autonomous Control in Robotics ISCA'18 (11/27)
- The Microarchitecture of a Real-Time Robot Motion Planning Accelerator MICRO'16 (11/29)
- Visual-Inertial Odometry on Chip: An Algorithm-and-Hardware Co-design Approach RSS'17 (12/4)
Further Reading
- Tutorial on Visual Odometry, IEEE Robotics and Automation Magazine (Volume 18, issue 4, 2011)
- The Architectural Implications of Autonomous Driving: Constraints and Acceleration ASPLOS'18
Victory Lap, Wild-and-Crazy Presentations (12/6, 12/11)
- Day 1 (12/6)
- Day 2 (12/11)