Academic and Research

I'm a PhD student at Princeton advised by Ryan Adams. My research is at the intersection of machine learning and scientific computing/computational engineering. I have broad interests across the stack; spanning algorithms (primarily scientific computing and optimization), compilers, architecture, microarchitecture, and hardware design (both conventional CMOS digital systems and experimental paradigms like photonics and analog computing).

Outside of my research, I serve as the system administrator for my group, the Laboratory for Intelligent Probabilistic Systems (LIPS) at Princeton. I'm proficient with various aspects of Unix/Linux system administration including configuration management, distributed authentication, NFS, Nvidia GPU configuration, and containerization, for example. I'm also passionate about related areas like electrical engineering, and have non-professional experience designing PCBs and working with electronics.

I did my BS in Mathematics at Harvey Mudd College with Jon Jacobsen, with a minor in philosophy.


Fiber Monte Carlo
Nick Richardson, Deniz Otkay, Yaniv Ovadia, James C Bowden, Ryan P. Adams
ICLR 2024 [Link]

Vitruvion: A Generative Model of Parametric CAD Sketches
Ari Seff, Wenda Zhou, Nick Richardson, Ryan P. Adams
ICLR 2022 [Link]


In summer 2022 I interned at Arm with Paul Whatmough and Chu Zhou working on hardware-software codesign for compression on neural processing units (NPUs), resulting in a patent application and a custom internal library written in C++ with CPython bindings.

This past summer I was a research engineering intern at Qualcomm, where I led an R&D effort to explore the use of machine learning models of SoCs with applications for adaptive runtime control. I worked closely with Paul Whatmough in this ML-driven microarchitecture project, within the AI compilers and algorithms group.

In addition to internships, I have experience serving as a technical consultant and contractor. See my Linkedin for my full professional experience.