International Journal of High Speed Computing
The hierarchical task graph as a universal intermediate representation
International Journal of Parallel Programming
The scalability of multigrain systems
ICS '99 Proceedings of the 13th international conference on Supercomputing
Thread fork/join techniques for multi-level parallelism exploitation in NUMA multiprocessors
ICS '99 Proceedings of the 13th international conference on Supercomputing
Symbolic Analysis for Parallelizing Compilers
Symbolic Analysis for Parallelizing Compilers
High-Level Information - An Approach for Integrating Front-End and Back-End Compilers
ICPP '98 Proceedings of the 1998 International Conference on Parallel Processing
Achieving Multi-level Parallelization
ISHPC '97 Proceedings of the International Symposium on High Performance Computing
Multithreading Runtime Support for Loop and Functional Parallelism
ISHPC '99 Proceedings of the Second International Symposium on High Performance Computing
The Design of the PROMIS Compiler
CC '99 Proceedings of the 8th International Conference on Compiler Construction, Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS'99
PACT '97 Proceedings of the 1997 International Conference on Parallel Architectures and Compilation Techniques
Optimizing compiler design for modularity and extensibility
LCPC'01 Proceedings of the 14th international conference on Languages and compilers for parallel computing
IWOMP'05/IWOMP'06 Proceedings of the 2005 and 2006 international conference on OpenMP shared memory parallel programming
Hi-index | 0.00 |
Most systems that are under design and likely to be built in the future will employ hierarchical organization with many levels of memory hierarchy and parallelism. In order to efficiently utilize the multiple levels of parallelism available in the target architecture, a parallelizing compiler must orchestrate the interactions of fine-grain and coarse-grain program transformations. This article describes issues of multi-grain parallelization and how they are addressed in the PROMIS compiler design. PROMIS is a multilingual, parallelizing, and retargetable compiler with an integrated frontend and backend operating on a single unified and universal intermediate representation. PROMIS exploits multiple levels of static and dynamic parallelism, ranging from task- and loop-level parallelism to instruction-level parallelism, based on a target architecture description. The frontend and the backend are integrated through a unified internal representation common to the high-level, the low-level, and the instruction-level analyses and transformations.