I completed my PhD in Computer Science at the University of Washington in February 2014, and am now a Principal Engineering Lead at Microsoft, where I am building a pathfinding team focused on researching new programming models for AI accelerators. Previously, I worked as an ML Solutions Engineer at Cerebras where I helped customers port their deep learning models to Cerebras systems. Prior to that, I was a Distinguished Technologist and Senior Principal Engineer at Cray and Hewlett Packard Enterprise (which acquired Cray), where I designed machine learning and data analytics platforms that leveraged Cray's HPC technologies. I graduated from Dartmouth College with a BA in Mathematics (with a Computer Science minor) in 1999, and an MS in Computer Science in 2001.

This page contains links to papers I've written and information about projects I've worked on.

I also occasionally teach computer science courses at the University of Washington. Links to these courses are posted below as well.

mike at ringenburg dot org

Linked In Profile


Teaching

Publications

Copyright notice

  • Journal Articles:
    • Ananda V. Kommaraju, Kristyn J. Maschhoff, Michael F. Ringenburg, Benjamin Robbins. Scalable Reinforcement Learning on Cray XC. In Concurrency and Computation: Practice and Experience (Cray User Group Special Issue), 2019.
    • Alex Gittens, Kai Rothauge, Shusen Wang, Michael W. Mahoney, Jey Kottalam, Lisa Gerhardt, Prabhat, Michael F. Ringenburg, Kristyn Maschhoff. Alchemist: An Apache Spark-MPI Interface. In Concurrency and Computation: Practice and Experience (Cray User Group Special Issue), 2018.
    • Neva Cherniavsky, Gidon Shavit, Michael F. Ringenburg, Richard E. Ladner, and Eve A. Riskin. MultiStage: A MINMAX Bit Allocation Algorithm for Video Coders. IEEE Transactions on Circuits and Systems for Video Technology 17, 1 (2007), 59-67.

  • Conference and Workshop Papers:
  • Theses:
  • Research

    • Past projects:
      • Approximate Computing, Advisors: Dan Grossman and Luis Ceze This project investigates how we can use approximation in a safe and principled manner in order to save energy. My work focuses on dynamic tools to help programmers investigate the Qualtiy of Result (QoR) impacts of approximation on their code. See my thesis for more details.
      • WASP: Washington Advanced Systems for Programming. Advisor: Dan Grossman As software systems become simultaneously more complex and more integrated into our daily lives, the need to eliminate errors and security vulnerabilities becomes more pronounced. My work on this project aimed to use programming language-based techniques to improve software quality. Some topics we investigated include coordinated data structures, security white-listing, and enforcing strong atomicity guarantees in concurrent programs.
      • Graphics, image & video compression, Advisors: Richard Ladner and Eve Riskin This project involved developing a new embedded video coder, and designing a global bit-allocation algorithm that achieves nearly constant quality across the entire video. We also looked briefly at image compression, animation compression, and 3D mesh compression. See the two DCC 2004 papers listed above for more details.
      • Out-of-core algorithms (my master's thesis). Advisor: Tom Cormen Out-of-core algorithms are algorithms designed to be efficient even when the size of the problem is greater than the size of the computer's main memory. We developed an out-of-core, parallel, high-dimensional vector radix FFT algorithm. We also analyzed our algorithm's complexity, as well as the communication complexity of a previously developed BMMC permutation algorithm that we used as a subroutine of the FFT algorithm. See my master's thesis for details.
      • Using simulated annealing to approximate crossing numbers of complete graphs. Advisor: John Mackey


      • mike at ringenburg dot org