Georgia Tech > CoE > ECE > CASL
People
- Gregory Diamos
- Andrew Kerr
- Sudhakar Yalamanchili
Harmony: A Run-Time For Accelerated Computing
The Harmony runtime seeks to address sofware challenges of heterogeneous multicore architectures by the development of a software infrastructure that reduces the complexity of effectively and efficiently using these architectures and improves productivity with minimal performance loss. In particular we seek an infrastructure that i) implements execution models that bridge from existing languages and software development practices to commodity hardware systems and thereby leverage individual accelerator vendor compilation tool chains and programming models, ii) enables portable implementations across system configurations to amortize substantial software investments, and iii) delivers high performance by adapting applications to specific available accelerator capabilities across a range of system sizes and configurations. The initial target is multi-GPU systems to be followed by FPGAs and Cell processors.
The theme of this research is the exploitation of parallelism at the level of compute kernels - kernel level parallelism. An execution model encapsulated in a runtime decouples the application from significant performance management issues. The key insight is to adapt lessons and techniques from instruction level parallelism to kernel level parallelism. Specifically we pursue at the kernel level, integration of aggressive speculation, dynamic concurrency inference, scheduling, and online performance prediction.
Runtime Implementation
In the spirit of evaluating the effectiveness of the runtime techniques espoused by Harmony, we are devloping a software implementation of the Harmony runtime in C++. This implementation is released open source under the BSD License for Linux. This implementation of Harmony is meant to be used as a library that is linked against by a user application, providing an API for composing an application out of compute kernels that are executed using calls to the runtime. This page also provides sample applications for benchmarking the impact of specific runtime techniques.
Sponsor: NVIDIA, Intel
Papers
The papers are provided for personal use and are subject to copyright of the publishers
- G. Diamos and S. Yalamanchili, "Harmony: A Execution Model and Runtime for Heterogeneous Many Core Architectures,"ACM/IEEE International Symposium on High Performance Distributed Computing, Session on Hot Topics, June, 2008 [paper] [bibtex] [presentation] [poster]
- G. Diamos and S. Yalamanchili, "Runtime Techniques for Dynamic Concurrency Inference, Resource Constrained Hierarchical Scheduling, and Online Optimization in Heterogeneous Multiprocessor Systems," Tech Report, [paper] [bibtex]
