Research - Faculty
Assistant Professor Xiaoming Li
Intelligent Profiling and Code Generation Techniques for Multi-core Processors
Overview
Current Projects
- Context-Aware and Context-Adaptive Code Optimization for New General High-performance Computers
- Intelligent Profiling and Code Generation Techniques for Multi-core Processors
- Machine Learning Based Library Generation Techniques for Multi-core Processors and GPUs
Current funding
UDRF
Group Staff
Graduate Student
Murat Bolat
Liang Gu
Office: Evans 201D
Phone: 302-831-0334
Compilation is a technique that translates programs written in high-level languages, such as C or Java, into binary code that can be executed directly on CPUs. The quality of the translation decides how fast and how efficiently a program runs. Research on compilation techniques has a long history dating back to the 1950's. Over the decades, significant progresses have been made in developing compilation techniques to increase the performance of compiler generated code. However, existing compilation techniques usually are unable to release full potentials of new computer architectures. For new, and usually more sophisticated, computer architecture features, new compilation techniques are called for to adapt programs to new features, and leverage the addition power provided by those new features. A new major architectural feature in mainstream computer systems is multi-core. Multi-core processors introduce parallel computing from high-end computing environment into everyday life. However, multi-core processors are inefficiently used. For example, operating systems, like Windows, cannot run parallel on a multi-core processor. Instead, it creates scenarios such that the OS thread, anti-virus software, email checker, and web browser each run on a core. Despite that multi-core processors execute more programs at one moment, each program runs as slow as when it runs on a single processor. Users desire a faster execution of programs when more core/processors are added. In this project, Prof. Li and his group aim to address the two deficiencies in compiler and code generation for multi-core processors.
Recent publications
Eunjung Park, Mihailo Kaplarevic, Yingping Zhang, Xiaoming Li and Guang R. Gao, "Dynamic Optimization Option Search in GCC" GCC Developers' Summit, July, 2007

