Specializing Compilers For High Performance Computing Through Coordinated Data and Algorithm Optimizations
|
Total amount : $477,631
Period : 08/01/14 - 07/31/17
Priciple investigator: Qing Yi
co-investigators: none
Students supported: TBA
Project Summary :
This research brings about a new methodology for developing compilers, where the data structure and algorithm implementations of software applications are independently normalized and categorized into commonly occurring patterns, compiler optimizations are made customizable components that can be flexibly composed, and all optimizations are closely coordinated and collectively specialized to attain a highest level of performance. The pattern-based specialization specifically targets a number of domains, e.g., dense/sparse matrix codes, stencil computations, and graph/machine learning algorithms, which are critical to scientific computing. A uniform annotation interface is provided for developers to concisely document the higher-level semantics of abstractions provided by varying domain-specific and parallel programming libraries, thereby allowing the development of specially customized library-aware compilers that can automatically coordinate the uses of library abstractions to maximize the overall performance of large scale multiprocessor applications. Automated optimization tuning support is provided to support the performance portability of applications on modern heterogeneous computing platforms.
The deliverables of this research include a collection of specialized compiler optimizers, distributed open source online, with associated auto-tuning toolkits to target them for varying modern multi-core and GPU platforms, and with a graphical user interface for users to interactively invoke these optimizers. These optimizers, together with their interactive configuration interfaces, are expected to fundamentally change how high performance computing applications are developed, while providing computational specialists a toolset to automatically generate optimized library kernels without manually composing assembly codes.
|
Selected Publications
- Automating Non-Blocking Synchronization In Concurrent Data Abstractions
Jiange Zhang, Qing Yi, and Damian Dechev.
In The 34th IEEE/ACM International Conference on Automated Software Engineering (ASE 2019). Nov, 2019. San Diego, CA, USA
- Transitioning Scientific Applications to using Non-VolatileMemory for Resilience
Brandon Nesterenko, Xiao Liu, Qing Yi, Jishen Zhao, and Jiange Zhang.
In The Interna- tional Symposium on Memory Systems (Memsys’2019). Sep 2019. Washington DC,USA.
- Automating the Exchangeability of Shared Data Abstractions
Jiange Zhang, Qian Wang, Qing Yi, and Huimin Cui.
In The 31st International Workshop on Languages and Compilers for Parallel Computing (LCPC'18), Salt Lake City, UT, USA
- Compiler-Assisted Overlapping of Communication and Computation in MPI Applications
Jichi Guo, Qing Yi, Jiayuan Meng, Junchao Zhang, and Pavan Balaji.
In IEEE Cluster 2016, Sep 12-16, 2016. Taipei, Taiwan.
- Automatically Optimizing Stencil Computations on Many-core NUMA Architectures
Pei-Hung Lin, Qing Yi, Daniel Quinlan, Chunhua Liao and Yongqing Yan.
In The 29th International Workshop on Languages and Compilers for Parallel Computing (LCPC 2016). Page 116-130. Sep 28-30, 2016. Rochester, NY, USA.
- Interactive Composition Of Compiler Optimizations
Brandon Nesterenko, Wenwen Wang, and Qing Yi.
In The 28th International Workshop on Languages and Compilers for Parallel Computing (LCPC'15). Sep 9-11, 2015. Raleigh, NC, USA.
- Specializing Compiler Optimizations Through Programmable Composition For Dense Matrix Computations
Qing Yi, Qian Wang, and Huimin Cui.
In The 47th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'14).
Dec 13-17, 2014. Cambridge, UK.
|
Open-source software: The POET program transformation language
Software download, manuals, and tutorials
|
going back to the main research page
|