whoami
I’m a computer scientist who likes to make code run as fast as possible on different architectures.
I work for Apple as a ML compute acceleration engineer. My job is to accelerate on device AI inference. Specifically, I work on the MPSGraph compiler for Apple silicon. My PhD research was in High Performance Computing (HPC) and compilers, advised by Prof. Saday Sadayappan. In the past, I have worked with IBM Research in New Delhi on accelerating BERT inference and distributed training for graph neural networks. As a student, I did some research in languages and middleware for HPC at ETH Zurich and Inria. I went to college at the Birla Institute of Technology and Science (BITS) in a small village called Pilani, in India. While powerlifting gives me my daily adrenaline fix, I like to hike and ski when on a vacation.
Academic research interest:
I worked on accelerating sparse tensor decompositions in both shared and distributed memory settings. Overall this problem is vastly multidimensional (no pun intended), primarily because the data (non-zero values) are not always structured. Therefore, load imbalance and high data movement make performance optimisation hard. I see tremendous applications of this research in several domains, including large scale training of neural networks, simulations of quantum circuits and computational physics and chemistry.
Some cool stuff I’ve worked on:
- the fastest sparse tensor times sparse tensor contraction kernel for CPUs: FaSTCC
- IR transformations to fuse sparse tensor contractions: CoNST
- model pruning for NLP and graph neural nets
- Kvik: task splitting middleware for the Rust language
- DACE: a domain specific lanugage that enables dataflow-based performance optimisation
- flight software for a nanosatellite!