About

I am a senior undergraduate at Cornell University studying Computer Science and Mathematics. I do research as a part of the CAPRA lab under Dietrich Giesler and Adrian Sampson. At the moment, I am mainly interested in programming languages, compilers, and program verification/testing.

You can reach me at: david.siher@gmail.com

Projects

A heterogenous graphics language

Currently, graphics programming relies on writing CPU host code (written in a CPU language such as C++) that will then execute GPU shaders (written in a shading language such as HLSL). This opens the door to a variety of bugs that thrive in this CPU-GPU disconnect. Slang took the first steps towards bridging this gap by giving programmers the ability to compile from slang to both CPU and GPU targets. I am currently working on extending Slang to see how it might support fully heterogeneous compilation, allowing programmers to specify and execute an entire graphics pipeline from within a single .slang file.

Teaching

TA for CS 4160/5160 (Formal Verification)
Spring 2022
TA for CS 3110 (Data Structures and Functional Programming)
Fall 2020, Spring 2021