Concurrency and Computation Practice and Experience · 2004 · 19 citations · 6 references
ComputingComputer ScienceHigh-performance ComputingComputer ArchitectureParallel ComputingProgramming LanguagesDistributed Memory ParallelismParallel ArchitecturesParallel Computing SystemsParallel Programming ModelsDistributed MemoryParallel Performance OptimizationParallel Program SemanticsParallelization
Abstract Sophisticated parallel languages are difficult to develop; most parallel distributed memory scientific applications are developed using a serial language, expressing parallelism through third party libraries (e.g. MPI). As a result, frameworks and libraries are often used to encapsulate significant complexities. We define a novel approach to optimize the use of libraries within applications. The resulting tool, named ROSE, leverages the additional semantics provided by library‐defined abstractions enabling library specific optimization of application codes. It is a common perception that performance is inversely proportional to the level of abstraction. Our work shows that this is not the case if the additional semantics can be leveraged. We show how ROSE can be used to leverage the semantics within the compile‐time optimization. Copyright © 2004 John Wiley & Sons, Ltd.
6
An annotation language for optimizing software libraries
Samuel Z. Guyer, Calvin Lin · 1999 · 113 citations · Full text