ROSE_ResearchPapers
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
This directory contains some of the research papers associated with the ROSE project over the last several years. For numerous reasons, we feel that the latest papers are the best papers, this is likely typical of any ambitious project; but we have included everything for completeness. It is hoped that the underlying goal within each paper of supporting the use of high-level abstractions will be clear together with our attempts to address the performance issues required for the use of high-level abstractions within scientific computing. A selectedpapers.bib is included to make it easy to reference the latest papers. Best papers: ICS05BrianWhiteAndCast.pdf LCPC2004-OptimizationsOfObjectOrientedAbstractionsThroughClassificationOfSemantics.pdf JMLC2003-RoseArchitecture.ps LCPC03-ParallelOptimizationOfContainers.ps WOMPAT-OpenMPTranslation.ps HIPS2001-LibrariesAsDomainSpecificLanguages.ps Recent Papers: Qing Yi, Keith Seymour, Haihang You, Richard Vuduc, and Dan Quinlan. "POET: Parameterized Optimizations for Empirical Tuning." In IPDPS Workshop on Performance Optimization of High-Level Languages and Libraries (POHLL), March 2007. (to appear) Dan Quinlan, Markus Schordan, Richard Vuduc, and Qing Yi. "Annotating user-defined abstractions for optimization." In IPDPS Workshop on Performance Optimization of High-Level Languages and Libraries (POHLL), April 2006. Richard Vuduc, Martin Schulz, Dan Quinlan, and Bronis de Supinski. "Improving distributed memory applications testing by message perturbation." In Proc. Int'l Symposium on Software Testing and Analysis (ISSTA), 4th Workshop on Parallel and Distributed Systems: Testing and Debugging (PADTAD-IV), Portland, ME, USA, July 2006. Dan Quinlan, Richard Vuduc, Thomas Panas, Jochen Härdtlein, and Andreas Sæbjørnsen. "Support for whole-program analysis and verification of the One-Definition Rule in C++." In Proc. Static Analysis Summit, Gaithersburg, MD, USA, June 2006. National Institute of Standards and Technology Special Publication. === Submitted 2007 === Thomas Panas, Tom Epperly, Dan Quinlan, Andreas Sæbjørnsen, Richard Vuduc. "Communicating software architecture using a unified single-view visualization." January 2007. (submitted) Thomas Panas, Dan Quinlan, Richard Vuduc. "Tool support for inspecting the code quality of HPC applications." January 2007. (position paper; submitted) Thomas Panas, Dan Quinlan, Richard Vuduc. "Analyzing and visualizing whole-program architectures." January 2007. (position paper; submitted) Brief descriptions of the several papers that we have included: ICS05BrianWhiteAndCast.pdf This paper is about the optimization of unstructured grid applications and represent preparitory work for future automated transformations specific to unstructured grid applications within DOE using ROSE. LCPC2004-OptimizationsOfObjectOrientedAbstractionsThroughClassificationOfSemantics.pdf This paper covers the details of optimizing object-oriented abstractions using ROSE. Unfortuantely, ROSE is not mentioned anywhere in the paper, a ridiculous oversight, but oh well. The subject is the optimization, not the ROSE compiler infrastructure. JMLC2003-RoseArchitecture.ps: This paper covers the architecture of ROSE as a project. It is one of the best and most up to date papers on ROSE. LCPC03-ParallelOptimizationOfContainers.ps: This paper is the informal proceedings version and demonstrates the optimization of generalized container abstractions and is related to Active Library research (or so I understand). It is also related to Telescoping Language research. The paper demonstrates a few of the newest features in ROSE and has served an an introduction for the authors into the optimization of the STL library more generally. WOMPAT2003-OpenMPTranslation.ps: This paper demonstrates the use of ROSE to recognize OpenMP pragmas and, using the Nanos OpenMP runtime library, build a subset of an OpenMP specific compiler for C++. HIPS2001-LibrariesAsDomainSpecificLanguages.ps: This paper is specific to compile-time optimization of array classes. It demonstrates what was at the time the most current work on the compile-time optimization of an array class library. ROSE is more general, but this paper is very specific to the optimization of a single library. CPC2000-SupportForObjectOrientedFrameworks.ps: This paper was an introduction to the work being done at the time on ROSE complete with a more detailed motivation for compile-time optimization of specific libraries. CPC2001-Concurrency2003.ps: This is one of the first papers on ROSE presented at CPC2001 and later updated for publication into the Journal of Concurrency, Practice, and Experience. LCPC2001-SpecificationOfTransformations.ps: This was a paper which specified some elements of what later became the string based AST rewrite mechanism used in ROSE. PDPTA2001-ROSETTA.ps: This paper describes the development of a tool, ROSETTA, which build object-oriented Intermediate Representations (IRs) for compilers. It is a tool used within ROSE to build the SAGE III IR which we use internally with the EDG front-end. It is specific to details of the internal ROSE compiler infrastructure. SCI1999-OptimizingArrayClassLibraries.ps: This paper present preliminary work on the compile-time optimization of array class libraries. IPPS1997-ExpressionTemplatePerformanceIssues.ps: Discusses the different approaches to the optimization of array class libraries. Optimization of array class libraries led to the development of ROSE as a project, though ROSE is not at all specific to array class libraries and addresses the optimization of libraries generally. This paper can be helpful in understanding what work was done using language template features within C++ before attempting to address the optimization issues more generally at compile time. Prior work started on ROSE had been abandoned because of the perceived significant advantages of template meta-programming techniques for scientific computing. Several papers on the details of template use were written, this is the most complete of them. It is included with these papers to provide a bit of perspective (currently historical). *********************************** References to the included papers: *********************************** Quinlan, Schordan, Yi, de Supinski, "Semantic-Driven Parallelization of Loops Operating on User-Defined Containers," Proceedings of Languages and Compilers for High-Performance Computing (LCPC), College Station, Texas, October 2-4, 2003. Quinlan, Schordan, Yi, de Supinski, "A C++ Infrastructure for Automatic Introduction and Translation of OpenMP Directives," (to appear soon) Springer Lecture Notes, 2003. Also presented at Workshop on OpenMP Applications and Tools, Toronto, Canada June 2003. {jmlc2003} Schordan M., Quinlan D., "A Source-To-Source Architecture for User-Defined Optimizations", Joint Modular Languages Conference held in conjunction with EuroPar'03, Austria, August 2003 {HIPS02} Quinlan, D. Miller, B. Philip, B. Schordan, M. "Treating a User-Defined Parallel Library as a Domain-Specific Language" 7th International Workshop on High-Level Parallel Programming Models and Supportive Environments, part of the 17th International Parallel and Distributed Processing Symposium (IPPS), Ft. Lauderdale, April 15-19, 2002 {LCPC2001} Quinlan, D., Schordan, M. Philip, B. Kowarschik, M. "The Specification of Source-To-Source Transformations for the Compile-Time Optimization of Parallel Object-Oriented Scientific Applications", Submitted to Parallel Processing Letters, also in Proceedings of 14th Workshop on Languages and Compilers for Parallel Computing (LCPC2001), Cumberland Falls, KY, August 1-3 2001. {cpc2001} Quinlan, D. Schordan, M. Philip, B. Kowarschik, M. "Parallel Object-Oriented Framework Optimization", Special Issue of Concurrency: Practice and Experience (2003), also in Proceedings of Conference on Parallel Compilers (CPC2001), Edinburgh, Scotland, June 2001. Quinlan, D., Philip, B. "ROSETTA: The Compile-Time Recognition Of Object-Oriented Library Abstractions And Their Use Within Applications," Proceedings of the PDPTA'2001 Conference, Las Vegas, Nevada, June 24-27 2001 Quinlan, D., "ROSE: Compiler Support for Object-Oriented Frameworks" Proceedings of Conference on Parallel Compilers (CPC2000), Aussois, France, January 2000. Also published in special issue of Parallel Processing Letters, Vol. 10. Related A++/P++ Papers: Dan Quinlan and Rebecca Parsons, A++/P++ array classes for architecture independent finite differences computations. In Proceedings of the Second Annual Object-Oriented Numerics Conference (ONNSKI'94), April 1994. Lemke, M., Quinlan, D. P++, a C++ Virtual Shared Grids Based Programming Environment for Architecture-Independent Development of Structured Grid Applications, In Preceeding of the CONPAR/VAPP V, September 1992, Lyon, France. Published in Lecture Notes in Computer Science, Springer Verlag, September 1992. Related Overture Paper: Brown, D., Henshaw, W., Quinlan, D., "OVERTURE: A Framework for the Complex Geometries," Preceedings of the ISCOPE'99 Conference, San Francisco, CA, Dec 1999. ************** RELATED PAPERS ************** Guy Steele's "Growing A Language" Telescoping Languages work at Rice (Ken) Plus/Minus Languages (Bjarne)