About

I am an Assistant Professor (starting Summer 2020) at University of California, Santa Cruz (UCSC) in The Department of Computer Science and Engineering. My research interests are in concurrency: programming, modeling, testing, and architecture. In particular, I am interested in exploring new programming models that enable development of correct and efficient applications on interesting (i.e. new or emerging) architectures.

I see GPGPU programming as pragmatic avenue to explore different ideas in concurrency (and also programming GPUs is fun!). Given this, much of my work is framed using GPGPU. I am an invited individual contributer to the Khronos Group where we think about how to evolve official standards.

I am currently looking for PhD students; please message me if the above description interests you!!

Previously, I was a Post Doc at Princeton working in Margaret Martonosi’s group. I received my PhD from the Multicore Programming Group at Imperial College London supervised by Alastair Donaldson. Even earlier, I worked with Ganesh Gopalakrishnan and Zvonimir Rakamaric at University of Utah for my undergad and MS.

Interests

  • Concurrency - semantics, testing, verification
  • Heterogeneous Systems - GPUs, accelerators
  • Compilers - portability, optimizations

Education

  • PhD in Computer Science, 2018

    Imperial College London

  • MS in Computer Science, 2014

    University of Utah

  • BSc in Computer Science, 2012

    University of Utah

Publications

Conference

(2020). Foundations of Empirical Memory Consistency Testing. In OOPSLA.

PDF

(2020). Slow and Steady: Measuring and Tuning Multicore Interference. in RTAS.

PDF

(2020). MosaicSim: A Lightweight, Modular Simulator for Heterogeneous Systems. Best Paper Nomination in ISPASS.

PDF

(2019). One size doesn’t fit all: quantifying performance portability of graph applications on GPUs. Best Paper Award in IISWC.

PDF Slides

(2018). GPU schedulers: how fair is fair enough?. in CONCUR.

PDF Slides

(2018). The semantics of transactions and weak memory in x86, Power, ARM, and C++. Best Paper Award in PLDI.

PDF

(2017). Cooperative kernels: GPU multitasking for blocking algorithms. Best Paper Award in FSE.

PDF Code Poster Slides

(2017). Automatically comparing memory consistency models. In POPL.

PDF

(2016). Portable inter-workgroup barrier synchronisation for GPUs. In OOPSLA.

PDF Code Slides

(2015). GPU concurrency: weak behaviours and programming assumptions. In ASPLOS.

PDF Dataset Poster

Publications

Workshop

(2020). A Simulator and Compiler Framework for Agile Hardware-Software Co-design Evaluation and Exploration. Invited talk at ICCAD.

PDF Slides

(2019). Performance evaluation of OpenCL standard support (and beyond). Best Paper Award in IWOCL.

PDF Slides

(2015). I compute, therefore I am (buggy): methodic doubt meets multiprocessors. in TinyToCS (vol 3).

PDF

(2013). Towards shared memory consistency models for GPUs. 1st place undergrad SRC in ICS.

Preprint PDF Poster

Theses

MS: Testing and Exposing Weak GPU Memory Models
BS: Towards Shared Memory Consistency Models for GPUS

Projects

DECADES Tiled Architecture

A new tiled architecture to acclerate a variety of applications

ICL Art of Research

Making art from buggy GPU programs

Online Binary Decision Tree

Simple boolean algebra online tools.

Service

A more full list can be found on my CV

Venue Role Year
PLDI PC 2020
ASPLOS ERC 2020
IWOCL PC 2019
ISCA ERC 2019
ECOOP/ISTA PC for doctoral symp. 2018
PLDI ERC 2018
TinyToCS PC 2016
POPL AEC 2016

Journal reviewer for:

  • ACM TACO
  • Formal Methods in System Design

Awards and Recognition

ISPASS'20 Best Paper Nomination 2020
IISWC'19 Best Paper Award 2019
IWOCL'19 Best Paper Award 2019
PLDI'18 Best Paper Award 2018
FSE'17 Best Paper Award 2017
ICL Art of Research Staff Pick 2016
Outstanding Senior Award (University of Utah) 2014
Snow College 40 under 40 2014
Finalist (top 5) CRA Undergraduate Research Competition 2013