Projects

Machine Learning /
Data Science

Machine Learning with TensorFlow: 2nd Edition

Primary contributor on the TFv2 branch for Machine Learning with TensorFlow: 2nd Edition, published by Manning and written by my mentor and Chief Technology and Innovation Officer (CTIO) at JPL, Chris Mattmann. [The first time my name appeared in a published book!]

Accelerated Gibbs Sampling

Custom CUDA implementations for GPU-accelerated Gibbs sampling. Used in GMM, LDA, NLP, topic modeling, and more. [In collaboration with Tyler Hackett @ UCLA, and Matin Ghavamizadeh @ MIT]

CUDA Kernels for Convolutional Neural Networks

Custom CUDA kernels for running convolutional neural network operations — i.e. convolution and general matrix multiply.

cuDNN Performance Model

A model for predicting inference time given a set of convolution or general matrix multiply configurations and GPU architecture.

Field Programmable Gate Arrays (FPGAs)

FPGA USB Controller

USB-to-PS2 mouse controller for FPGAs written in Verilog. Performs clock division, signal sampling, processing, error checking, and validation. Includes Xilinx Basys 3 target configuration.

Neural Network for the MNIST Data Set

A custom built, half-precision FPGA neural network trained to recognize the MNIST data set. Displays the MNIST hand-written digits through a custom VGA controller and shows the predicted number on an onboard 7-segment display.

Operating Systems

EXT2 Filesystem Image Validator

Ingest and validate EXT2 filesystem images. Performs consistency checks on binary data structures with various levels of indirection.

EXT2 Filesystem Consistency Analysis

EXT2 Filesystem Audits — Performs block consistency, i-node allocation consistency, and directory consistency audits on a given EXT2 filesystem summary.