I’m a CS master’s student at the University of Maryland (UMD), graduating in May 2023, with an over 3.9 GPA in coursework. I’m a motivated programmer with considerable experience in real-world projects. I have interned at Lawrence Livermore National Laboratory, where I did software engineering on several performance analysis tools. I have also interned at the Institute of Computing Technology in China, where I contributed to developing a high-performance FFT library. In the internship, I optimized several kernel functions and implemented a new algorithm for a specific type of FFT. Besides, I have worked on web application development for a lab at UW-Madison, where I created an interactive frontend using React and a backend using Node.js and Maven. I’m currently working as a research assistant at UMD on performance modeling and tool development. I’m actively seeking a software engineering full-time position.


Education:

  • University of Maryland, College Park (2020 - present)
    MS in Computer Science, GPA: 4.0/4.0
  • University of Wisconsin, Madison (2018 - 2020)
    BS in Computer Science, GPA: 4.0/4.0
  • Wuhan University (2016 - 2018)
    BS in Computer Science, GPA: 3.9/4.0. National Scholarship (Top 0.2 nationwide)

Skills:

  • Programming: Java, C/C++, Python, JavaScript, MPI, Cuda, SQL
  • Domain Knowledge: High-Performance Algorithm and Data Structure, Software Engineering, Parallel Programming, Performance Modeling

Experience:

University of Maryland, Research Assistant.
College Park, MD. 09/2020 - present

Parallel I/O performance modeling with ML

Details
  • Designed an ML model that predicts the best storage system based on an app’s I/O patterns with 97% accuracy.
  • Developed a python-based performance analysis tool that automates analysis and I/O pattern extractions.
  • Comparatively evaluated several storage systems and created a dataset of I/O performance w.r.t. I/O patterns.

Lawrence Livermore National Laboratory, Software Engineer Intern.
Livermore, CA. 05/2020 - 08/2021

Software development with C++

Details
  • Integrated GOTCHA into several performance profiling software so they can be executed at the same time.
  • Reduced the time spent in getting profiling results by a factor of N, where N is the number of profilers.
  • Reduced variability of profiling results from 35% to 12%.

MadPL Lab at UW-Madison, Web Development Assistant.
Madison, WI. 09/2019–01/2020

Web Development for a Regex Fixing Application

Details
  • Designed an interactive frontend using React and JavaScript ES6.
  • Built a back-end server using Node.js and Maven to talk to the program to fix the regex.
  • Optimized the application so that it could provide some matching information before running the whole server program.

PerfXLab & Institute of Computing Technology, Software Engineer Intern.
Beijing, China. 06/2019–09/2019

Web Development for a Regex Fixing Application

Details
  • Optimized kernel functions based on x86 architecture by optimizing memory allocation, cache usage, etc.
  • Implemented the core “split” function for both single and double-precision floating-point using SIMD, which improved the parallelism by a factor of 4.
  • Implemented a faster REDFT00 sub-transform algorithm. The new algorithm improved the performance of this transform for large-scale inputs by 35%.

Selected Projects:

Marius: High-Performance Software for Large-Scale Graph Embeddings

  • A C++ Software for graph embeddings (an ML problem). Implemented a multi-thread pipeline for evaluation and stateful optimizer for gradient descent. Explored smarter sampling and tuning strategies for hyper-parameter tuning.

Online Book Store

  • A JavaEE web application. Implemented the frontend with HTML and JavaScript. Built the server with Hibernate and Spring framework. Used MYSQL as the database and used JDBC to access it.

Qirkat Game AI

  • A Java implementation of a board game called Qirkat and its game AI. Implemented the game AI using alpha-beta pruning and several heuristics.

Publications:

Leave a comment