My interests are in Artificial Intelligence, Robotics, and Tangible Interaction Design mostly surrounding systems with multiple agents. I've done other work in the past on distributed and embedded systems, the web and high performance computing. Right now I am working on the development of Autonomous Vehicles at NVIDIA. I am a Colorado native and completed my undergrad at the University of Illinois at Urbana-Champaign in Computer Engineering. I am currently doing my masters in Computer Science and Robotics at USC. In my free time I work on / advocate for open source, play rugby, soccer and tennis, race bikes and from 2016 to 2017 I served as the Chair of the UIUC Chapter of the ACM.
Academic and Professional Timeline
- 2022-Present / University of Southern California - ICAROS / Graduate Research Assistant under Professor Stefanos Nikolaidis
- 2021 / New York University - Game Innovation Lab / Graduate Research Assistant under Professor Julian Togelius
- 2018-Present / NVIDIA / Automotive Deep Learning Solution Architect
- 2017 / NVIDIA / Automotive Deep Learning Solution Architect Intern
- 2016 / University of Illinois Urbana-Champaign - Bretl Research Group / Undergraduate Research Assistant under Professor Tim Bretl
- 2016 / Nest Labs / Embedded Software Engineering Intern
- 2014 - 2018 / University of Illinois Urbana-Champaign - Vision Group / Undergraduate Research Assistant under Professor Derek Hoiem
- 2013 - 2014 / University of Colorado Boulder - Correll Lab / High School Research Assistant under Professor Nikolaus Correll
Most Recent Papers, Posters and Preprints
[PyTorch Conference 2022] Torch-TensorRT: A Compiler for Accelerating PyTorch Inference Using TensorRT
Torch-TensorRT is an open-source compiler targeting NVIDIA GPUs for high-performance deep-learning inference in PyTorch. It combines the usability of PyTorch with the performance of TensorRT allowing for easy optimization of inference workloads on NVIDIA GPUs. Torch-TensorRT supports all classes of optimizations in TensorRT including reduced mixed precision down to INT8, through simple Python & C++ APIs designed to work directly from PyTorch. Torch-TensorRT outputs standard PyTorch modules as well as the TorchScript format to allow for a completely self-contained, portable, & static module with TensorRT engines embedded as attributes
[PyTorch Developer Conference 2021] Torch-TensorRT: Accelerating Inference Performance Directly from PyTorch using TensorRT
Torch-TensorRT is an open-source SDK designed to target NVIDIA GPUs for high-performance deep-learning inference. It combines the usability of PyTorch with the performance optimizations of TensorRT allowing for easy optimization of any inference workload on NVIDIA GPUs. Torch-TensorRT supports all optimizations of TensorRT including reduced mixed precision down to INT8, all within simple Python & C++ APIs designed to work directly from PyTorch. Torch-TensorRT outputs the standard TorchScript format to allow for a completely self-contained, portable, & static module with TensorRT engines embedded as attributes. Torch-TensorRT partitions the model into subgraphs based on TensorRT compatibility of each node. Compatible subgraphs are replaced with a single optimized TensorRT engine; the incompatible subgraphs “fallback” and run in native PyTorch. This fallback means there is no requirement for full model support by TensorRT, expanding Torch-TensorRT compatible models to all of TorchScript.
[PTED] TRTorch: A Compiler for TorchScript Targeting NVIDIA GPUs with TensorRT
We present TRTorch, a compiler for PyTorch and TorchScript targeting NVIDIA GPUs, which combines the usability of PyTorch with the performance of TensorRT allowing users to optimize easily inference workloads on NVIDIA GPUs. For experimentation and the development of machine learning models, few tools are as approachable as PyTorch. However, some of the features that make PyTorch great for development make it hard to deploy. With TorchScript, PyTorch now has solid tooling for addressing some of these problems. TorchScript removes the dependency on Python and produces portable, self contained, static representations of code and weights. In addition to portability, users also look to optimize performance in deployment. On NVIDIA GPUs, TensorRT, NVIDIA’s deep learning optimizer, provides the capability to maximize performance of workloads by tuning the execution of models for specific target hardware. TRTorch merges the benefits of TorchScript and TensorRT to simplify conducting optimization including post training quantization by leveraging common PyTorch tooling. It can be used directly from PyTorch as a TorchScript Backend, via CLI or embedded (C++/Python) in an application to easily increase inference performance.
Most Recent Talks
[GPU Technology Conference Fall 2021] Accelerate PyTorch with TensorRT
Learn how to accelerate PyTorch inference without leaving the framework with Torch-TensorRT. Torch-TensorRT makes the performance of NVIDIA’s TensorRT GPU optimizations available in PyTorch for any model. You'll learn about the key capabilities of Torch-TensorRT, how to use them, and the performance benefits you can expect. We'll walk you through how to easily transition from a trained model to an inference deployment fine-tuned for your specific hardware, all with just a few lines of familiar code. If you want more technical details, the second half of the talk will give you a chance to deep dive into how Torch-TensorRT operates, the mechanics of key features, and a few in-depth examples.
[GPU Technology Conference Spring 2021] New Features in TRTorch, a PyTorch/TorchScript Compiler Targeting NVIDIA GPUs Using TensorRT
We'll cover new features of TRTorch, a compiler for PyTorch and TorchScript that optimizes deep learning models for inference on NVIDIA GPUs. Programs are internally optimized using TensorRT but maintain full compatibility with standard PyTorch or TorchScript code. This allows users to continue to feel like they're writing PyTorch code in their inference applications while fully leveraging TensorRT. We'll discuss new capabilities enabled in recent releases of TRTorch, including direct integration into PyTorch and post-training quantization.
[GPU Technology Conference Fall - Oct, 2020] TRTorch: A PyTorch/TorchScript Compiler Targeting NVIDIA GPUs Using TensorRT
We'll dive into TRTorch, a new compiler for PyTorch and TorchScript that optimizes deep learning models for inference on NVIDIA GPUs. Programs are internally optimized using TensorRT but maintain full compatibility with standard PyTorch or TorchScript code. This allows users to continue to feel like they're writing PyTorch code in their inference applications while fully leveraging TensorRT. We'll cover how the compiler works internally and different ways to leverage the compiler.
Most Recent Posts
All Recommendation Engines Should Follow Twitter's Example on Transparency
Twitter released the source for its recommendation engine to be transparent about what it promotes and suppresses. Others should be required to do the same.
ChatGPT's Plugin System Poses an Existential Risk to the Open Web
ChatGPT poses threats to fundamental assumptions we make about the web and how we use it that exceed its threats to humanity in the near to medium term. The implications of blindly accepting this transistion could be far reaching and hard to return from
procgen-terrain: A Procedurally Generated Mountain Town
Exploring graphics in Rust with Vulkan and Vulkano