CS 348B: Computer Graphics: Image Synthesis Techniques
Intermediate level, emphasizing high-quality image synthesis algorithms and systems issues in rendering. Topics include: Reyes and advanced rasterization, including motion blur and depth of field; ray tracing and physically based rendering; Monte Carlo algorithms for rendering, including direct illumination and global illumination; path tracing and photon mapping; surface reflection and light source models; volume rendering and subsurface scattering; SIMD and multi-core parallelism for rendering. Written assignments and programming projects. Prerequisite: 248 or equivalent. Recommended: Fourier analysis or digital signal processing.
Last offered: Spring 2022
| Units: 3-4
CS 348C: Computer Graphics: Animation and Simulation
Core mathematics and methods for computer animation and motion simulation. Traditional animation techniques. Physics-based simulation methods for modeling shape and motion: particle systems, constraints, rigid bodies, deformable models, collisions and contact, fluids, and fracture. Animating natural phenomena. Methods for animating virtual characters and crowds. Additional topics selected from data-driven animation methods, realism and perception, animation systems, motion control, real-time and interactive methods, and multi-sensory feedback. Recommended:
CS 148 and/or 205A. Prerequisite: linear algebra.
Terms: Win
| Units: 3
Instructors:
James, D. (PI)
;
Li, Z. (TA)
CS 348E: Character Animation: Modeling, Simulation, and Control of Human Motion
This course introduces technologies and mathematical tools for simulating, modeling, and controlling human/animal movements. Students will be exposed to integrated knowledge and techniques across computer graphics, robotics, machine learning and biomechanics. The topics include numerical integration, 3D character modeling, keyframe animation, skinning/rigging, multi-body dynamics, human kinematics, muscle dynamics, trajectory optimization, learning policies for motor skills, and motion capture. Students who successfully complete this course will be able to use and modify physics simulator for character animation or robotic applications, to design/train control policies for locomotion or manipulation tasks on virtual agents, and to leverage motion capture data for synthesizing realistic virtual humans. The evaluation of this course is based on three assignments and an open-ended research project. Recommended Prerequisite: CS148 or
CS205A
Last offered: Spring 2023
| Units: 3
CS 348I: Computer Graphics in the Era of AI
This course introduces deep learning methods and AI technologies applied to four main areas of Computer Graphics: rendering, geometry, animation, and imaging. We will study a wide range of problems on content creation for images, shapes, and animations, recently advanced by deep learning techniques. For each problem, we will understand its conventional solutions, study the state-of-the-art learning-based approaches, and critically evaluate their results as well as the impacts to researchers and practitioners in Computer Graphics. The topics include differentiable rendering/neural rendering, BRDF estimation, texture synthesis, denoising, procedural modeling, view synthesis, colorization, style transfer, motion synthesis, differentiable physics simulation, and reinforcement learning. Through programming projects and homework, students who successfully complete this course will be able to use neural rendering algorithms for image manipulation, apply neural procedural modeling for shape and scene synthesis, exploit data-driven methods for simulating physical phenomena, and implement policy learning algorithms for creating character animation. Recommended Prerequisites:
CS148,
CS231N
Last offered: Winter 2024
| Units: 3-4
CS 348K: Visual Computing Systems
Visual computing tasks such as computational photography, image/video understanding, and real-time 3D graphics are key responsibilities of modern computer systems ranging from sensor-rich smart phones, autonomous robots, and large data centers. These workloads demand exceptional system efficiency and this course examines the key ideas, techniques, and challenges associated with the design of parallel, heterogeneous systems that execute and accelerate visual computing applications. This course is intended for graduate and advanced undergraduate-level students interested in architecting efficient graphics, image processing, and computer vision systems (both new hardware architectures and domain-optimized programming frameworks) and for students in graphics, vision, and ML that seek to understand throughput computing concepts so they can develop scalable algorithms for these platforms. Students will perform daily research paper readings, complete simple programming assignments, and compet
more »
Visual computing tasks such as computational photography, image/video understanding, and real-time 3D graphics are key responsibilities of modern computer systems ranging from sensor-rich smart phones, autonomous robots, and large data centers. These workloads demand exceptional system efficiency and this course examines the key ideas, techniques, and challenges associated with the design of parallel, heterogeneous systems that execute and accelerate visual computing applications. This course is intended for graduate and advanced undergraduate-level students interested in architecting efficient graphics, image processing, and computer vision systems (both new hardware architectures and domain-optimized programming frameworks) and for students in graphics, vision, and ML that seek to understand throughput computing concepts so they can develop scalable algorithms for these platforms. Students will perform daily research paper readings, complete simple programming assignments, and compete a self-selected term project. Prerequisites:
CS 107 or equivalent. Highly recommended: Parallel Computing (
CS149) or Computer Architecture (
EE 282). Students will benefit from some background in deep learning (
CS 230,
CS 231N), computer vision (
CS 231A), digital image processing (
CS 232) or computer graphics (
CS248).
Terms: Spr
| Units: 3-4
Instructors:
Fatahalian, K. (PI)
CS 348N: Neural Models for 3D Geometry
Course Description: Generation of high-quality 3D models and scenes by leveraging machine learning tools and approaches. Survey of geometry representations. Public 3D object and scene data sets. Neural architectures for geometry, including deep architectures for point clouds and meshes. Generative models for 3D: autoencoders, GANs, neural implicits, neural ODEs, autoregressive models. Conditional generation based on images or partial geometry. Variation generation. Evaluation metrics for content generation. Use of synthetic data in ML training pipelines. Prerequisites: CS148 and the rudiments of deep learning. Recommended:
CS229.
Last offered: Spring 2023
| Units: 3
CS 349D: Compound AI Systems
The emergence of foundation models has revolutionized AI applications, but the most powerful AI systems today are increasingly compound systems - compositions of multiple models, retrievers, tools, and traditional software components. This research seminar explores the intersection of cloud computing infrastructure and compound AI systems, covering both the infrastructure required to build and deploy these systems at scale and the architectural patterns that make them effective. Students will participate in guest lectures from leading experts across academia and industry, including leaders of companies like Databricks, OpenAI, Foundry, NVIDIA, Microsoft, and more, read and discuss papers, and complete a quarter-long project in groups of 2-3. Prerequisites: Background in computer systems, ML and deep learning is recommended but not required (
CS 111/240, 144/244, 244B
or 245).
Terms: Spr
| Units: 3
Instructors:
Kozyrakis, C. (PI)
;
Gandhi, S. (TA)
CS 349F: Fabric Architectures For AI Systems
The course is concerned with the design and operation of the network fabrics which interconnect large-scale compute and storage nodes in modern AI GPU clusters, cloud computing systems, and "time-sensitive systems" like financial trading platforms and massive multi-player games. We will consider architectures, protocols and algorithms which enable these network fabrics to deliver deterministic and ultra-low latency at near-100% goodput. Topics include data center fabric architectures - the fat tree topology, transport protocols - congestion control and load balancing, and scheduling algorithms - job scheduling, fabric scheduling and their interaction. A particular focus will be the contrast and synergy between the edge- and network-centric approaches to building high-performance network fabrics. Students will hear from industry experts who design, operate and use large-scale GPU and CPU clusters. Recommended: Knowledge of basic Networking, OS, or Distributed Systems (
CS 144, 140, or equivalent), as well as basic EE courses (
EE 178) will be useful.
Terms: Spr
| Units: 2
Instructors:
Prabhakar, B. (PI)
;
Rosenblum, M. (PI)
CS 349G: Selected Reading of Ph.D. Dissertations
Detailed reading of 5 selected Ph.D. dissertations within a field of computer science. For undergraduates, the course is an introduction to advanced foundational concepts within a field as well as an in-depth look at detailed research. For graduate students, the course focuses on historical reading as well as an opportunity to read dissertations and discuss their strengths and weaknesses. Both groups of students discuss historical context, how ideas succeeded or did not and why, and how they manifest in modern technology. The discussion of each dissertation completes with a guest lecture by its author. The selected dissertations change with each offering but are always from a coherent time period and topic area. Prerequisites: CS110 for undergraduates, EE282 for graduate students.
Last offered: Winter 2021
| Units: 3
| Repeatable
10 times
(up to 30 units total)
CS 349H: Software Techniques for Emerging Hardware Platforms (EE 349)
Research seminar on software techniques for emerging computational substrates with guest lectures from hardware designers from research and industry. This seminar explores the benefits of novel hardware technologies, the challenges gating broad adoption of these technologies, and how software techniques can help mitigate these challenges and improve the usability of these hardware platforms. Note that the computational substrates discussed vary depending on the semester. Topics covered include: In-memory computing platforms, dynamical system-solving mixed-signal devices, exible and bendable electronics, neuromorphic computers, intermittent computing platforms, ReRAMs, DNA-based storage, and optical computing platforms. Prerequisites: CS107 or
CS107E (required) and
EE180 (recommended).
Terms: Aut
| Units: 3
Instructors:
Achour, S. (PI)
;
Yi, P. (TA)
