Skip to content

Latest commit

 

History

History

ROSE_ResearchPapers

Folders and files

NameName
Last commit message
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)