Curriculum Vitae

EDUCATION

University of Illinois at Urbana-Champaign

College of Engineering

Doctor of Philosophy
Computer Science

Focus:

Scientific Computing, Numerical Analysis, High Performance Computing (Frameworks) on GPUs

Advisor:

Andreas Klöckner

Received Dec. 2021

Washington University in St. Louis

School of Engineering and Applied Science

Master of Science
Computer Science

GPA: 4.00

Focus:

Mobile Robotics

Received May 2011

Bachelor of Science
Computer Science, Applied Mathematics

GPA: 3.83

Minor:

Philosophy-Neuroscience-Psychology

Received Aug. 2010

Study Abroad: French Summer Language Institute

PUBLICATIONS AND PRESENTATIONS

Seminar Talks

Dec. 2014 – Apr. 2020

RESEARCH EXPERIENCE

University of Illinois at Urbana-Champaign

UI Team Lead
Research Project Lead
Research Assistant
(Advisor: Andreas Klöckner)

May 2019 – Dec. 2021
Jan. 2018 – Dec. 2021
Jan. 2015 – Dec. 2021

  • Designed and managed multiple research projects implemented innovative mechanisms to optimize code on GPUs and CPUs, bridging the gap between fully automated and fully manual approaches to high performance code optimization and improving developer efficiency.
  • Built and led a team of 5 developers in creating a browser-based user interface streamlined program construction, transformation, analysis, and performance optimization.
  • Designed a visual, interactive program-building interface allowing users to create, transform, and analyze a computational subroutine via direct interaction with the source code, as well as an interactive tree representation of the search-space of program variants created.
  • Proposed planned research in successful NSF research grant application.
  • Recruited, interviewed, and selected team of student developers.
  • Guided team members as we developed proficiency with new software tools: Flask, ReactJS, JSX, HTML.
  • Publication: Ch. 5 of dissertation
  • Related links: Part III of defense presentation [video, slides]; Seminar presentation
  • Developed a framework for constructing customizable, architecture-adaptable analytical performance models for parallel computations, providing a key building block for automated performance tuning, and with it created models that predicted execution times on GPUs with high accuracy.
  • Identified performance-predictive program features.
  • Built a system for constructing mathematical models as expressions of program features and cost parameters, and for automatically computing program features utilizing the statistics-gathering module below.
  • Implemented a mechanism for fitting models to hardware in a black-box fashion using automatically generated sets of benchmark computations exhibiting qualities dictated by user-specified criteria.
  • Investigated trade-offs between model complexity, accuracy, and scope, and the challenges of performance prediction using only pre-compilation, kernel-level data; surveyed current landscape of approaches to performance modeling.
  • Constructed performance models predicting program variant run times accurately enough to guide performance tuning.
  • Publication: A mechanism for balancing accuracy and scope in cross-machine, black-box, GPU performance modeling Arxiv pdf
  • Developed and provided continued software support for an automated program statistics gathering module in Loo.py, a programming system for transformation-based code generation for GPUs and CPUs.
  • Automated the gathering of symbolic counts of operations in computational subroutines, as well as performance-relevant characteristics of each operation, e.g., data types for arithmetic operations, strides for memory accesses.
  • Designed experiments and analyzed computation performance on GPUs to determine which operation characteristics were most useful in guiding optimization decisions.
  • Publication: (component in multiple publications below)
  • Enabled accuracy verification for automatically generated parallel programs by developing and implemented novel mechanisms to formally represent, and automate reasoning about, program statement ordering and mathematical dependency satisfaction.
  • Developed a formal representation for human-comprehensible, verifiable, statement-instance-level dependencies that can be automatically updated during program transformation.
  • Created a novel procedure for verifying the correctness of a generated program in a generalized OpenCL compute abstraction with local and global barriers.
  • Designed a formal representation to express loop nest structure constraints that is human-comprehensible and enables efficient, automated reasoning and enforcement
  • Publication: Ch. 3 of dissertation
  • Related links: Part I of defense presentation [video, slides]; Loo.py
  • Secured research funding by proposing research projects in successful NSF grant proposal.
  • Reviewed scientific papers for publication and composed detailed reports to inform review committee decisions.

Washington University Media and Machines Lab

Research Assistant (Advisor: William Smart)

Jan. – Dec. 2009

  • Built algorithms enabling autonomous robot functionality.
  • Enabled autonomous robot obstacle avoidance using a laser range finder.
  • Implemented photo-op finding algorithms for Lewis, a wedding photographer robot.

OTHER PROFESSIONAL EXPERIENCE

Sandia National Labs

Research and Development Graduate Intern – Scalable Algorithms Group

June – Aug. 2016

  • Contributed new functionality to Kokkos, an architecture-independent shared-memory parallel programming system.
  • Informed and guided performance-critical design decisions for Kokkos by conducting execution profiling experiments.
  • Implemented collective operations for parallel thread teams in C++ (OpenMP and CUDA).

Department of Defense | Oklahoma City Air Logistics Complex

Project Lead, Computer Scientist (High Performance Computing & Simulation Lab)

July 2011 – July 2014

  • Spearheaded technical innovation and strategy for HPC team by conducting in-depth research on GPU computing. Designed and executed successful experiments to evaluate the benefits of GPU acceleration.
  • Presented findings at two major industry conferences and at senior leadership meetings.
  • Accelerated parallel computations with GPUs and Nvidia’s CUDA, boosting throughput for a weather simulation code from 3.5 to 250 GFLOP/s, and a radar simulation code from 1.5 to 32.1 GFLOP/s, enabling faster modeling results.
  • Integrated complex numerical weather model output from into flight simulator radar display and flight dynamics, enhancing simulator realism and immersive user experience.
  • Helped build low-cost high performance computing cluster by collecting and connecting >200 unused workstations.
  • Designed and delivered comprehensive tutorial on GPU programming; mentored teams of interns as they learned key concepts in parallel programming.

Intern Computer Scientist

June – Aug. 2009 and May – July 2010

  • Evaluated capabilities of PAPI hardware performance counter interface; designed demonstrations illustrating its utility in performance optimization; presented analyses to group leadership to inform technical strategy.
  • Helped build low-cost high performance computing cluster by collecting and connecting >200 unused workstations.

LEADERSHIP EXPERIENCE

University of Illinois at Urbana-Champaign

President of UIUC SIAM (Society for Industrial and Applied Mathematics) chapter
Activity Coordinator of UIUC SIAM chapter
Vice President of UIUC SIAM chapter

Sept. 2016 – Sept. 2017
Sept. 2017 – Sept. 2018
Sept. 2018 – Aug. 2021

  • Led a team of officers in successfully creating a well-rounded and engaging experience for over 300 members of the UIUC SIAM chapter; organized monthly academic talks, tutorials, research lab tours, and social events.
  • Promoted SIAM and its mission, achieving significant increase in chapter membership from ~240 to ~340 members.
  • Represented chapter at SIAM Annual Meeting, building and maintaining positive relationships with key stakeholders and enhancing the reputation of the organization.
  • Recognized for outstanding leadership and exceptional results with SIAM Student Chapter Certificate of Recognition.

UI Team Lead, Research Project Lead

Jan 2018 – Dec. 2021

Department of Defense - Oklahoma City Air Logistics Complex

President of TESLA (Tinker Engineer and Scientist Leadership Association)
Vice President of TESLA
Social Chair of TESLA

Aug. 2013 – Jul. 2014
Aug. 2012 – Aug. 2013
Aug. 2011 – Aug. 2012

  • Led officer team in expanding the impact of TESLA, a professional organization dedicated to fostering career development.
  • Improved communication between senior leaders and engineers/scientists in order to strategized about and enact productivity improvements; successfully negotiated creation of 5 new tech leadership positions to more effectively utilize highly skilled scientists.
  • Organized and led professional development events, guest speaker talks, monthly meetings, and social activities.
  • Effectively promoted TESLA at large events, generating surge in membership from ~150 to ~260 members.
  • Recognized for valuable contributions to TESLA with Certificate of Appreciation.

Project Lead

July 2011 – July 2014

  • (Details above under Other Professional Experience: Project Lead.)

Washington University in St. Louis

Graduate of Washington University LeaderShape Institute

May 2008

  • Completed program focused on building leadership, teamwork, and personal/team goal-setting skills.

TEACHING EXPERIENCE

University of Illinois at Urbana-Champaign

Teaching Assistant

CS450: Numerical Analysis (online)
CS555: Numerical Partial Differential Equations
CS450: Numerical Analysis

Jan. – May and Aug. – Dec. 2019
Jan. – May 2017
Aug. – Dec. 2015

  • Provided an engaging, educational experience for graduate-level computer science and applied math courses, both in person and online.
  • Designed and presented lectures, e.g., introducing the discontinuous Galerkin class of numerical methods.
  • Enhanced automated grading system for code solutions by implementing more extensive feedback that adapted to different problem-solving approaches.
  • Built in-class demonstrations illustrating numerical techniques.
  • Strengthened student understanding by providing guidance and further insight on mathematical concepts during office hours; managed course webpage and online discussion forum.
  • Created and graded weekly assignments and quizzes.

Washington University in St. Louis

Engineering Tutor, Course Assistant

Aug. 2007 – May 2011

  • Mentored and tutored students in physics, calculus, and computer science in individual and group sessions, resulting in improved academic performance.
  • Created physics help desk, which more efficiently engaged larger numbers of students seeking assistance with a popular, challenging course.
  • Taught engineering students valuable teamwork skills via collaborative problem-solving exercises.
  • Consistently received very positive review comments from pupils.

Student Technology Coordinator

Jan. 2008 – May 2009

  • Coordinated and presented >6 technology-related educational workshops, e.g., Computer Construction, and Techniques for Speeding up Your Slow Computer, and provided computer technical support to students.

AWARDS AND DISTINCTIONS

Society for Industrial and Applied Mathematics (SIAM) Student Chapter Certificate of Recognition
For outstanding efforts and accomplishments on behalf of the University of Illinois at Urbana-Champaign (UIUC) SIAM chapter.

Apr. 2017

Certificate of Recognition for Academic Excellence
Given by UIUC computer science department for notable publications, awards, and/or other achievements.

Apr. 2017

SURGE Fellowship
Five-year fellowship from UIUC to recognize outstanding students in under-represented groups in engineering.

Aug. 2014 – May 2019

Certificate of Appreciation in Recognition of Valuable Contributions to TESLA
Given by senior leadership of DoD software group for helping launch a professional development organization.

Sept. 2012

DoD Science Mathematics and Research for Transformation (SMART) Fellowship
Department of Defense fellowship program to attract outstanding scientists and engineers to DoD laboratories.

Aug. 2008 – May 2011

Tau Beta Pi, Washington University Chapter
Engineering honor society that recognizes academic achievement & personal integrity.

Jan. 2009 – May 2010

Dean’s Honorary Scholarship
Four-year partial-tuition scholarship presented by the Washington University School of Engineering.

Aug. 2006 – May 2010

Missouri Higher Education Academic Scholarship
Merit-based program encouraging top-ranked students to attend approved Missouri postsecondary schools.

Aug. 2006 – May 2010

Outstanding Sophomore Award, Computer Science and Engineering
Presented by the Washington University CS department to one sophomore per year.

May 2008

Eagle Scout (with 6 Eagle Palms)
Highest rank in the Boy Scouts of America.

Sept. 2004