Hi, I’m Victor. I build computer architecture simulators and compilers to explore how to make computation fast. I write a lot of C++, and frequently look at profiling and (dis)assembly. In July 2023, I’m moving to Tenstorrent to work on high-performance RISC-V processors.
I spent the last several years doing a PhD with Daniel Sanchez at MIT CSAIL. My PhD work is in the Swarm project, which seeks to build new abstractions between hardware and software that make it as easy to exploit multicore parallelism as it is to write ordinary sequential programs.
Before I was at MIT, I received my BSE in electrical engineering from Princeton, where I worked with Sharad Malik on Boolean satisfiability solvers. I have also done internships working on optimizing the performance of hardware and software systems at Microsoft Research, NVIDIA Research, Pure Storage, and NIST.
You can access my curriculum vitae here.
See CV above for all publications
The Unified GraphIt Compiler framework (UGC) compiles a domain-specific language for graph processing to novel architecturs such as Swarm. The compiler is able to reuse code across architectures and can automatically unlock more parallelism than prior approaches by using Swarm’s speculative execution to avoid synchronization overheads.
Compiling ordinary sequential C and C++ programs to run in parallel on Swarm. Challenging applications are scaled to tens of cores, without requiring the programmer to indicate what code is safe to parallelize.
An infrastructure for exploring the design space of deep neural network (DNN) accelerators, including an expressive and concise representation of hardware topologies and choices about dataflow orchestration, as well as efficient modeling of performance and energy that enables exploring trade-offs by searching through large spaces of potential accelerator designs.
Extending Swarm’s hardware and software mechanisms to enable speculative and non-speculative tasks to coordinate on shared data structures, to enable unrestricted tasks, and to allow expert programmers to safely implement efficient and scalable system services, such as memory allocation, within speculative tasks, improving performance by up to 69×.
A new execution model that enhances the Swarm hardware architecture, a general-purpose multicore architecture that makes it easy to exploit more parallelism in many applications. Outperforms prior systems by up to 88×.