This course will cover key principles, techniques, and challenges associated with the design of processors, software frameworks, and algorithms to accelerate important visual computing applications including image processing, deep learning, diffusion models, implicit representations, federated learning, and robotics tasks, and in architectures such as TPUs, GPUs, and FPGAs.