Seonmyeong Bak, Ph.D.

Seonmyeong Bak, Ph.D.

System Software/Performance Engineer

NVIDIA Corporation


Seonmyeong Bak is a system software/performance engineer at NVIDIA Corporation. He earned his Ph.D. on December 2020 at Georgia Institute of Technology. His Ph.D. research is mainly about high performance computing, programming models and runtime systems. Specifically, he has worked on scheduling issues on task-level parallel programming models with Prof. Vivek Sarkar. Since he joined NVIDIA, he has been working on the performance analysis and optimization of large-scale machine learning applications such as MLPerf benchmark suite and Megatron-LM on supercomputers.

Download my resumé.

  • High Performance Computing
  • Programming Models and Runtime Systems
  • Task-level Parallelism
  • Interoperability of Runtime Systems
  • Hybrid Programming Models
  • Distributed Systems
  • Ph.D. in Computer Science, 2020

    Georgia Institute of Technology

  • M.S. in Computer Science and Engineering, 2014

    Seoul National University

  • B.S. in Computer Science and Engineering, 2012

    SungKyunKwan University


System Performance/Software Engineer
NVIDIA Corporation
Feb 2021 – Present Santa Clara, CA

Analyze ML software stacks from libraries to python frameworks

  • Performance analysis on the representative mahcine learning applications(MLPerf, Megatron)
  • Suggest the design and implementation of each software stack to handle the bottlenecks
Advanced Short-Term Research Opportunity(ASTRO) Intern
Oak Ridge National Laboratory
Aug 2019 – Dec 2019 Oak Ridge, TN

Design and Implementation of Task Graph Scheduling in OpenMP for SLATE library

  • Identify requirements of SLATE library and expand/improve OpenMP tasking features to achieve high performance
  • Implement the idea of task graph scheduling in OpenMP on LLVM OpenMP runtime
Visiting Student"
Argonne National Laboratory
May 2018 – Aug 2018 Lemont, IL

Design and Implementation of User Defined Scheduling API for OpenMP

  • Propose APIs to enable users to define their scheduling on OpenMP constructs (omp for/omp task)
  • Implement prototype on LLVM OpenMP runtime to showcase the benefit of explicit user defined scheduling

Recent Publications

Quickly discover relevant content by filtering publications.