Skip to content
View berg-michael's full-sized avatar
  • National Renewable Energy Laboratory
  • Golden, CO
  • 03:57 (UTC -06:00)
  • LinkedIn in/michael-berg-cs

Highlights

  • Pro

Block or report berg-michael

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
berg-michael/readme.md

Hello!

I'm a recent (March 2025) graduate of the Master's Program in Computer Science at the University of Chicago. My specialization is High-Performance Computing.

As of May 2025, I am a Graduate Intern at the National Renewable Energy Laboratory (NREL). There, I contribute to the development of System Advisor Model (SAM), an application developed for techno-economic analysis of renewable energy projects. SAM models the physical processes underlying renewable energy generation in order to determine how much energy will be produced at what time. It incorporates financial parameters to estimate the return generated by this energy production.

Before working at NREL, I was a Graduate Computing Scholar at Lawrence Livermore National Laboratory (LLNL). While at LLNL, I optimized the performance of a unstructured Lagrangian hydrodynamics code that targeted both CPU and GPU backends. I attained a five-fold improvement in the performance of this program on GPU, relative to its original GPU performance. I also developed a regression-based model to enable performance prediction of physics codes on unseen hardware by measuring the performance of a suite of benchmark kernels on this hardware.

My experience includes:

  • Optimizing physics codes for deployment on supercomputers
  • Writing parallel implementations in C/C++ of scientific computing algorithms for use on shared/distributed memory systems with OpenMP/MPI
  • Optimizing performance of serial algorithms/serial components of parallel algorithms using SIMD
  • Programming for GPUs with CUDA
  • Using high-performance libraries (e.g. NVidia CuBLAS, Intel MKL) to accelerate existing programs
  • Implementing parallel sorting algorithms in Go
  • Writing a compiler in Go for a subset of the Go programming language using ANTLR and LLVM
  • Developing a Python FaaS platform using FastAPI, ZMQ, and Redis
  • Administering a personal Linux server using Docker and QEMU/KVM
  • Working with embedded Linux devices for personal projects

I enjoy writing code with a focus on performance and correctness, and reasoning about how to implement serial and parallel algorithms in a way that is appropriate for the architecture on which they will run.

Since September 2023, I have served as a Teaching Assistant for MPCS 55001 "Algorithms" and MPCS 55005 "Advanced Algorithms". I develop content for and lead office hour sessions, answer student questions, and write homework and exam problems. I also supervise the grading of assignments.

I have previously worked as a Research Specialist at the University of Chicago Law School, where I assisted with quantitative research on policing and private security. I primarily wrote code in R to clean data and conduct statistical analyses. I am a coauthor on "Private Security and Public Police", which was recently published in the Journal of Empirical Legal Studies.

Popular repositories Loading

  1. data.table_rbindlist data.table_rbindlist Public

    Forked from Rdatatable/data.table

    R's data.table package extends data.frame:

    R

  2. BergLibrary BergLibrary Public

    KiCad Symbols I have created for various projects

  3. berg-michael berg-michael Public

  4. rehamove-integration-lib rehamove-integration-lib Public

    Forked from humancomputerintegration/rehamove-integration-lib

    Python and Unity3D APIs for rehamove3. Creative Commons License, do not use for commecial purposes & must provide credits.

    C

  5. SAM SAM Public

    Forked from NREL/SAM

    System Advisor Model (SAM)

    C++

  6. ssc ssc Public

    Forked from NREL/ssc

    SAM Simulation Core (SSC) contains the underlying performance and financial models for SAM

    C++