David Durst

Final Year CS PhD Candidate at Stanford
I'm on the job market.
Advised by Kayvon Fatahalian and Pat Hanrahan
durst@stanford.edu - GitHub - LinkedIn - CV - Blog

Photo of David Durst
My IL bot (MLMove) replicates human positioning during self-play

I am in the final year of my Ph.D. in Computer Science at Stanford University. For the last 3 years, I modeled complex human behaviors in a commercial video game, Counter-Strike. Using imitation learning (IL), I built bots that play in the style of human players. I performed the below series of projects that culminated in my belief that imitating human behavior is a stepping stone to understanding human behavior. This led to my creation of a data pipeline for processing human traces and an IL bot (MLMove) trained to imitate the traces. This research is addressed in a paper that is under submission.

  1. Computing Good Crosshair Placements Using RLpbr's GPU Ray Tracing (2021) - Compute analytics for where humans are likely to look based on map geometry
  2. Reaction Times and Crosshair Positions Aren't Enough to Catch Cheaters (2022) - Isolated player behavior analytics are insufficient to fully model complex human behavior
  3. A Hand-Crafted Structure for Imitation Learning (2022) - Hand-crafted bots are a good structure for comprehensive modeling of human behavior in Counter-Strike
  4. Revisiting Structure vs. Learning (2023) - Learned components within the bot structure must have access to the full game state, as narrowly defined bot behavior components fail to capture the full complexity of human behavior

I'm interested in many types of applications that involve modeling human behavior in the games space, including catching cheaters and other malicious actors in video games. I worked on anti-cheat with Activision and presented the work at GDC 2023: Hallucinations: Baiting Cheaters Into Self-Identifying by Reversing Detection. This paper proposes hallucinations with configurable behavior to catch cheaters. Three popular cheat programs fall for the hallucinations in Call of Duty.

I am advised by Professors Kayvon Fatahalian and Pat Hanrahan and was supported by an NSF Graduate Research Fellowship and a Stanford Graduate Fellowship in Science and Engineering.

Prior Research: Programming Languages For Hardware Accelerators

Before transitioning to modeling human behavior through AI agents, my research focused on programming languages for hardware accelerators. Here are my publications and presentations from that work.

Kalhan Koul, Jackson Melchert, Kavya Sreedhar, Leonard Truong, Gedeon Nyengele, Keyi Zhang, Qiaoyi Liu, Jeff Setter, Po-Han Chen, Yuchen Mei, Maxwell Strange, Ross Daly, Caleb Donovick, Alex Carsello, Taeyoung Kong, Kathleen Feng, Dillon Huff, Ankita Nayak, Rajsekhar Setaluri, James Thomas, Nikhil Bhagdikar, David Durst, Zachary Myers, Nestan Tsiskaridze, Stephen Richardson, Rick Bahr, Kayvon Fatahalian, Pat Hanrahan, Clark Barrett, Mark Horowitz, Christopher Torng, Fredrik Kjolstad, Priyanka Raina

PLDI 2020
David Durst, Matthew Feldman, Dillon Huff, David Akeley, Ross Daly, Gilbert Louis Bernstein, Marco Patrignani, Kayvon Fatahalian, Pat Hanrahan

DAC 2020
Rick Bahr, Clark Barrett, Nikhil Bhagdikar, Alex Carsello, Ross G. Daly, Caleb Donovick, David Durst, Kayvon Fatahalian, Kathleen Feng, Pat Hanrahan, Teguh Hofstee, Mark Horowitz, Dillon Huff, Fredrik Kjolstad, Taeyoung Kong, Qiaoyi Liu, Makai Mann, Jackson Melchert, Ankita Nayak, Aina Niemetz, Gedeon Nyengele, Priyanka Raina, Stephen Richardson, Raj Setaluri, Jeff Setter, Kavya Sreedhar, Maxwell Strange, James Thomas, Christopher Torng, Leonard Truong, Nestan Tsiskaridze, Keyi Zhang

Stanford AHA Monthly Meeting - October 2020
Reconfigurable accelerators promise an exciting set of benefits compared to other processors in the cloud and on mobile devices. They can enable application implementations that are more parallel, more energy efficient, and have lower latency. However, it can be challenging to predict the real-world situations where reconfigurability delivers these benefits. In this talk, I will examine five benchmarks that represent workloads interesting to Adobe. These benchmarks show that there is a precise niche of applications that benefit from reconfigurability: applications that can be implemented in a manner that takes advantage of custom cache hierarchies and specialized functional units. For other applications, there are other ways to improve performance including programming languages and compilers that efficiently use existing, non-reconfigurable accelerators with greater peak compute performance and memory bandwidth.

PLDI 2020 - June 2020
The conference talk for the Aetherling paper. In this talk, I focus on Aetherling's data-parallel IR with space- and time-types, a higher-level input language whose types are unaware of space and time, and a simple set of rewrite rules for converting from the higher-level language to the space-time IR.

Spark Summit East 2016 - February 2016
TopNotch is a framework for quality controlling big data through data quality metrics that scale up to large data sets, across schemas, and throughout large teams. TopNotch's SQL-based interface enables users across the technical spectrum to quality control data sets in their areas of expertise and understand data sets from other areas. I was the project lead and main developer for TopNotch while I worked at BlackRock.

Spark-NYC Meetup - September 2015
This presentation addresses the disparity between the current and desired big data user experiences. In this presentation, I demonstrate a web application with a scatterplot matrix visualization that allows non-technical users to utilize Spark to analyze large data sets.