You are here

Nominated Best Paper

October 19, 2016

About Me

Yifan Sun is a fourth-year PhD student from the Department of Electrical and Computer Engineering. He works in the group of Northeastern University Computer Architecture Research (NUCAR). He received a Master of Science in Electrical Engineering at the University at Buffalo and a Bachelor of Science in Electrical Engineering at Huazhong University of Science and Technology. His research interest lies in Performance Measurement and Modeling, Computer Architecture and GPU computing.

Nominated Best Paper

In 2016, the program committee nominated my paper "Hetero-Mark, A Benchmark Suite for CPU-GPU Collaborative Computing" as the best paper candidate in the IEEE International Symposium on Workload Characterization. On September 26, in Providence R.I., I presented the paper at the conference to compete with two other groups for the best paper reward.  Although I did not win the best paper award, the conference was a great experience for me. Also, the nomination was an honor to me and an affirmation of the value of my research.

Two years ago when I first started working in my group, my advisor asked me to work on Heterogeneous System Architecture (HSA). HSA is a framework that aims at simplifying and unifying the programming experience for GPUs and other types of accelerators. Like lots of new PhD students, I was not fully aware the importance of the work I was doing at the beginning. Yet with time I discovered the meaning of the research.

In two years, I gradually learned the art of GPU programming, especially HSA programming. Since HSA was a newly developed programming framework, there was no HSA sample program to test with, and there was no program to measure its performance. Therefore, we decided to write the first benchmark suite to serve both as sample code and as performance measuring tools. 

However, writing some program does not make a good researcher. But we needed to show the novelty and the value of our work. By studying some state-of-art GPU code and GPU benchmarks, I noticed an interesting fact. Although various types of programming frameworks advertised the ability to run the GPU code without stopping the CPU program, few applications and benchmarks harnessed the power of concurrent execution of both the CPU and the GPU. One main reason was managing the synchronization and communication was hard and error prone. Therefore, to end the chaos of communicating the CPU and the GPU at random times, we proposed some patterns for CPU-GPU collaborative computing. Programmers can follow the patterns to improve the performance and avoid hard-to-debug errors. In our research, we also provide at least of one benchmark to showcase each pattern.

I was excited to see my work got published and received acknowledgment by other researchers. It was a pleasure to know that people from both industry and academic were using my software to boost their work. One conference participants told me that he was using my code to verify their performance optimization research and my benchmark suite was helpful. Recently, Northeastern University became the first HSA Academic Center of Excellence, and I feel proud of that my work contributes to part of this event.