Yonghong Yan

Yonghong Yan

Associate Professor, Ph.D.
Department of Computer Science
University of North Carolina at Charlotte
Office and Location: 210G Woodward Hall, 8812 Craver Rd, Charlotte, NC 28223
Mailing Address: Department of Computer Science, 9201 University City Blvd. Charlotte, NC 28223
Email: yyan7@uncc.edu
Phone: 704-687-8546
Teaching / Research / Publications / Google Scholar / Services / C.V.

Welcome to my online home. I am an Associate Professor in the Department of Computer Science at the University of North Carolina at Charlotte. My research interests span the systems area of computer science, with a focus on parallel and high-performance computing using multi-core CPUs, many-core GPUs, and clusters. We have used applications from various domains for our research including scientific simulation, training and inference of artificial intelligence, machine learning and deep learning (AI/ML/DL), and computer vision and medical image processing. For teaching, I teach both undergraduate and graduate courses in computer systems, covering topics such as data structures, parallel programming, computer architecture, computer systems, programming languages, and compilers. I am a member of the OpenMP Architectural Review Board (ARB) and the OpenMP language subcommittee. I also act as the director of the High Performance Computing and Systems Lab that includes four faculty in the department with research interest in high performance computing.

Research


My research interests cover a broad range of topics in computer science systems, focusing on parallel and high-performance computing, parallel programming models and compiler techniques, and computer architecture and systems. The primary goal of my research is to enhance performance, programmability, and power efficiency for applications and users utilizing parallel computing systems with multi-core CPUs, many-core GPUs, and clusters. Our recent research includes: 1) developing parallel programming systems (APIs, compiler and runtime systems) based on OpenMP for heterogeneous systems; 2) creating performance tools for measuring, analyzing, and visualizing the execution of parallel applications to identify performance bottlenecks; and 3) developing machine learning and deep learning algorithms for 3D medical image processing, such as image registration and segmentation. Details on research projects and publications can be found on the website of my research group of High Performance Computing Architecture and System Research.

Teaching


Year Semester Class Title/Website Syllabus
2023 - present Spring/Fall ITSC 2181 Introduction to Computer Systems (Internal canvas) Syllabus
2019 - 2023 Spring/Fall/Summer ITSC 3181 Introduction to Computer Architecture Syllabus
2019 Spring CSCE 212 Introduction to Computer Architecture Syllabus
2018 Fall CSCE 513 Computer Architecture Syllabus
2018 Spring CSCE 569 Parallel Computing Syllabus
2017 Fall CSCE 790 Parallel Programming Models for Multicore and Manycore Processors Syllabus
2017 Summer CSE 564 Computer Architecture Syllabus
2017 Spring CSE 231 Object-Oriented Programming II -- Data Structures and Algorithms (contents available on request) Syllabus
2017 Spring CSE 436/536 Concurrent and Multicore Programming Syllabus
2016 Fall CSE 564 Computer Architecture Syllabus
2016 Summer CSE 436/536 Concurrent and Multicore Programming Syllabus
2016 Spring CSE 436/536 Concurrent and Multicore Programming Syllabus
2015 Fall CSE 231 Object-Oriented Programming II -- Data Structures and Algorithms Syllabus
2015 Summer CSE 436/536 Concurrent and Multicore Programming Syllabus
2015 Spring CSE 436/536 Concurrent and Multicore Programming Syllabus
2014 Fall CSE 231 Object-Oriented Programming II -- Data Structures and Algorithms Syllabus

Professional Services


Journal Editorial

Organizing and Co-/Chairmanships of Conference/Workshops

Technical Program Committee

Technical Review