CV
About Me
Full Name | Daniel Donenfeld |
danielbd@mit.edu |
Education
-
2020 - Current
PhD, Computer Science
Massachusetts Institute of Technology
-
2013-2017
Bachelor of Science in Computer Science
Cornell University, College of Engineering
Research Experience
-
2020 - Current
Research Assistant
Commit Group, MIT CSAIL
- Developed new abstractions within the Tensor Algebra Compiler (TACO) to support losslessly compressed tensors including variants of run length encoding and Lempel Ziv compression.
- We represent compression as a generalized form of sparsity with with repetitions of values represented by non-scalar, dynamic fill values.
- By unifying lossless compression with sparse tensor algebra, this technique is able to generate code that computes with both losslessly compressed data and sparse data, as well as generate code that computes directly on compressed data without needing to first decompress it.
-
2016-2017
Research Assistant
Cornell Department of Computer Science
- Developed a new compiler backend for the Polyglot compiler to translate the Java language to LLVM IR. This project was created to run languages developed using Polyglot on devices with no JVM using the LLVM code generator, and to leverage the extensive suite of optimizations in LLVM.
- I implemented AST lowering compiler passes to remove syntactic sugar from the Java AST, implemented translations for many of the core Java language semantics to LLVM, and implemented runtime support for language features, including exception handling and threading.
-
Summer 2015
Research Experience for Undergrads (REU) Participant
University of Central Florida Center for Research in Computer Vision
- Developed and implemented a method for the localization of organs in 3D medical scans.
- The algorithm worked on a supervoxel segmentation to localize the heart, liver, and kidneys.
- Using a supervoxel segmentation reduced the search space significantly, and increased the perceptual meaning, as the supervoxels adhered to edges and were more uniform.
- The supervoxels were classified with handcrafted features using a random forest.
- The algorithm was effective at determining the locations of the organs and provided promising classification results.
Teaching Experience
-
Fall 2022
Teaching Assistant, 6.106 - Performance Engineering of Software Systems
MIT
- Led recitations on performance engineering which included lecturing and going over example problems.
- Held weekly office hours, graded assignments and exams.
-
Fall 2015, 2016
Teaching Assistant, CS 3110 - Data Structures and Functional Programming
Cornell University
- Led recitations on data structures and functional programming in OCaml by going over example problems and answering questions on course material.
- Held weekly office hours and assisted in grading assignments and exams.
-
Spring 2014, 2015
Course Staff, CS 1110 - Introduction to Computing using Python
Cornell University
- Assisted during labs by answering questions.
- Held office hours to answer any questions on course material.
- Graded assignments and exams.
Professional Experience
-
2017-2020
Software Engineer II
Microsoft C++ Team
- Worked on the Microsoft C++ compiler backend on language conformance, security, and optimization.
- Implemented the C++17 order of evaluation in the intermediate language reader to contribute to making the Microsoft C++ compiler C++17 conformant.
- Implemented compiler optimizations and improved existing optimizations. Examples include optimizing pointer subtractions, and improving an analysis on predicates in the compiler to better estimate known bits.
- Investigated and fixed bugs throughout the compiler.
- Facilitated the C++ backend release process for Visual Studio 16.1 and 16.2 by communicating deadlines and testing procedures, running validation testing, and publishing release notes