CSC572/292 Mobile Visual Computing

In this class, we will first study fundamental building blocks for visual computing such as real-time computer vision, computer graphics, deep learning, image sensing, optics, and human vision systems. We will then explore application domains that build on top of these fundamental building blocks such as AR/VR, computational photography/imaging, robotics, and self-driving cars. A central theme of the course is to synergistically co-design and co-optimize across many important layers of a computer system, including application development, programming language and framework, compiler, OS, and hardware architecture.
Fall 2020, Fall 2018

CSC252 Computer Organization

The objective is to remove a good deal of the mystery of how modern computers work. There is NO magic. Even if you decide not to be a computer system designer in future, knowing these will empower you to get the computer to do useful work for you. We expect you to come out of this course not only knowing how modern computers work, having a deeper understanding of why they work as they are, but more importantly, why computers don't have to be built that way!
Spring 2020, Spring 2019, Spring 2018

Tutorials and Workshops

Infrastructure and Methodology for SoC Performance and Power Modeling

The main objective of our tutorial is to foster SoC-level computer architecture research whose major barrier of entry now is a lack of basic tools and infrastructures. Although the nature of SoC research emphasizes on real system modeling and measurements, we currently lack systematic infrastructures that are easily accessible and widely adopted. The tutorial is a step to mitigate this gap in the community.
ISCA 2019, ASPLOS 2019, IISWC 2018

Cognitive Edge Computing

Bringing cognitive computing to the edge devices opens up several new opportunities and challenges for researchers. Edge devices are short on resources, such as power, networking, storage, compute etc. Therefore, cognitive edge computing requires us to understand the issues and discover novel solutions. The workshop is meant to foster an interactive discussion about emerging application domains and the role of cognitive computing in these new domains. The workshop is also meant to lead to new discussions on cognitive algorithms, architectures and system-level design.
MICRO 2017, MICRO 2016

Sensors to Cloud Architectures

Sensors operating in constrained environments connected through intelligent gateways and cloud backend creates a very complex environment for the operators, system integrators, and developers of this new emerging technology. Discovering and managing sensor devices; collecting, cleaning and storing discoverable data; normalizing, aggregating and analyzing the data for insights and actions; managing the security and privacy of the data, enforcing the access privileges and trusted execution environments – all these are required to make this revolution happen. The goal of this workshop is to bring together academic researchers and industry practitioners to discuss future IoT sensor-to- cloud architectures including sensors, gateways and cloud architectures.
HPCA 2017

Infrastructure and Tools for Mobile Computer Architecture Research

Computer architecture research has been largely driven by access and awareness of infrastructures such as simulators and workload suites. Many computer architecture domains such as GPUs and data­centers have mature infrastructures that have been developed for years and are now widely adopted. The nature of mobile research emphasizes real system study and measurement. However, we currently lack systematic infrastructures that are easily accessible and widely adopted. We see this as the major barrier of entry. The tutorial is a step to overcome this increasing barrier.
ISCA 2016


University of Rochester Upward Bound Math and Science

The Upward Bound Math and Science program is designed to strengthen the math and science skills of participating students. The goal of the program is to help students recognize and develop their potential to excel in math and science and to encourage them to pursue post-secondary degrees in math and science and ultimately careers in the math and science profession.

In particular, we run a five-day workshop every summer to high-school students from the Vanguard Collegiate High School and Wilson High School (Rochester School District) as part of the Upward Bound program. The workshop introduces basic programming to students who have no prior experience, and incrementally builds simple computer vision programs. We intentionally used the Raspberry Pi as the experimental platform to showcase the power of a tiny computer.