A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2019; you can also visit the original URL.
The file type is application/pdf
.
Filters
The Specification of Source-to-Source Transformations for the Compile-Time Optimization of Parallel Object-Oriented Scientific Applications
[chapter]
2003
Lecture Notes in Computer Science
within object-oriented array class libraries which permit parallel optimizations inconceivable to the serial compiler. ...
These preprocessors can perform sematics-baaed source-to-source transformations of the application in order to introduce high-level code optimizations. ...
We present a solution that optimizes parallel object-oriented scientific application codes using high-level abstractions. ...
doi:10.1007/3-540-35767-x_25
fatcat:6c3qzyabnfftzi7jdlxpoktpsm
Treating a user-defined parallel library as a domain-specific language
2002
Proceedings 16th International Parallel and Distributed Processing Symposium
Our research work shows how to effectively treat any object-oriented library and its abstractions as if it where a domain-specific language with equivalent builtin types and specialized compile-time analysis ...
In each case the semantics of the abstraction is user-defined and ignored by the compilation process at a significant performance penalty for the application code. ...
The result is a mechanism which can take a C++ object-oriented library and produce the compile-time optimizations previously available only within a compiler for a domain specific language with similar ...
doi:10.1109/ipdps.2002.1016490
dblp:conf/ipps/QuinlanMPS02
fatcat:tcessjsiobgznicmmpfzeivxzi
Semantic-Driven Parallelization of Loops Operating on User-Defined Containers
[chapter]
2004
Lecture Notes in Computer Science
We describe ROSE, a C++ infrastructure for source-to-source translation, that provides an interface for programmers to easily write their own translators for optimizing user-defined high-level abstractions ...
By providing an interface for the programmer to classify the semantics of their abstractions, we are able to automatically parallelize operations on containers, such as linked-lists, without resorting ...
Further, the easy construction of compile-time transformations with ROSE could use even more precise semantics of domain-specific containers if necessary. ...
doi:10.1007/978-3-540-24644-2_34
fatcat:uhbsjkj76bfwdagap2jimfcq4i
Parallel object-oriented framework optimization
2004
Concurrency and Computation
We show how ROSE can be used to leverage the semantics within the compile-time optimization. Copyright ...
The resulting tool, named ROSE, leverages the additional semantics provided by library-defined abstractions enabling library specific optimization of application codes. ...
INTRODUCTION This paper demonstrates a compile-time approach using the semantics defined within library abstractions to optimize parallel applications. ...
doi:10.1002/cpe.775
fatcat:qxy32p2whrhzfe3zmyihksm76m
Optimizing Transformations of Stencil Operations for Parallel Object-Oriented Scientific Frameworks on Cache-Based Architectures
[chapter]
1998
Lecture Notes in Computer Science
High-performance scientific computing relies increasingly on high-level large-scale object-oriented software frameworks to manage both algorithmic complexity and the complexities of parallelism: distributed ...
This paper describes two optimizing transformations suitable for certain classes of numerical algorithms, one for reducing the cost of inter-processor communication, and one for improving cache utilization ...
The ROSE preprocessor is a mechanism for (C++) source-to-source transformation, specifically targetted at optimizing the use of statements manipulated array class objects. ...
doi:10.1007/3-540-49372-7_10
fatcat:4hensl26zjcv5f7aaha7hdskbi
Auto-tuning full applications: A case study
2011
The international journal of high performance computing applications
The values for these parameters are selected using a search-based auto-tuner, which performs a parallel heuristic search for the best-performing optimized variants of the outlined loop nests. ...
Each loop nest is optimized through a series of composable code transformations, with the transformations parameterized by unbound optimization parameters that are bound during the tuning process. ...
ROSE is an open source compiler infrastructure aimed to allow programmers without expertise in compiler internals to build customized source-to-source program transformation and analysis tools for large-scale ...
doi:10.1177/1094342011414744
fatcat:5fkceunxxzdtnd4c26ohtnu264
A comparison of performance-enhancing strategies for parallel numerical object-oriented frameworks
[chapter]
1997
Lecture Notes in Computer Science
Perforniance short of that of C or FORTRAN 77 is a significant obstacle to general acceptance of object-oriented C++ frameworks in high-performance parallel scientific computing, nonetheless, their value ...
Singular data points of good performance for object-oriented libraries/frameworks have been interesting, but a s,ystematic analysis of the performance issues has not been done. ...
Introduction The use of object-oriented C++ frameworks has significantly simplified the development of numerous complex serial and parallel scientific applications at Los Alamos National Laboratory (LANL ...
doi:10.1007/3-540-63827-x_39
fatcat:itq25dsdizgndgsmrrkf2t5ezy
Annotating user-defined abstractions for optimization
2006
Proceedings 20th IEEE International Parallel & Distributed Processing Symposium
In this position paper, we propose a set of annotations to help communicate high-level semantic information about abstractions to the compiler, thereby enabling the large body of traditional compiler optimizations ...
Although conventional compilers implement a wide range of optimization techniques, they frequently miss opportunities to optimize the use of abstractions, largely because they are not designed to recognize ...
compiler optimizations to userdefined abstractions. ...
doi:10.1109/ipdps.2006.1639722
dblp:conf/ipps/QuinlanSVY06
fatcat:7naceka5qvfldnbdhklqd2r2me
Classification and Utilization of Abstractions for Optimization
[chapter]
2006
Lecture Notes in Computer Science
We describe ROSE, a framework for building source-to-source translators, used for the high-level optimization of scientific applications. ...
We show how ROSE can be used to utilize the additional semantics within the compile-time optimization and present promising results. ...
Introduction This paper demonstrates a compile-time approach to optimize scientific applications using the semantics of library abstractions. ...
doi:10.1007/11925040_5
fatcat:wypo57pxzzctzmv25spvkqtylq
Habanero-Java extensions for scientific computing
2010
Proceedings of the 9th Workshop on Parallel/High-Performance Object-Oriented Scientific Computing - POOSC '10
Dipole1D, an open source Fortran 90 application for 1D forward modeling of an arbitrarily located and oriented electric dipole transmitter, to Java with a goal of gaining efficient sequential and multicore ...
Mainstream object-oriented languages such as Java and C#, through the use of object-oriented abstractions and managed runtimes (virtual machines), have significantly improved productivity and portability ...
Experiments have shown that the method size is a major source of overhead, since the JIT compiler is having a hard time optimizing them. ...
doi:10.1145/2039312.2039313
fatcat:uyuxshtmt5hkvmos6jz6qemuh4
Feature-Based Comparison of Language Transformation Tools
2020
Lahore Garrison University research journal of computer science and information technology
Code transformation is the best option while switching from farmer to next technology. Our paper presents a comparative analysis of code transformation tools based on 18 different factors. ...
For this purpose, we have selected varyCode, Telerik, Multi-online converter, and InstantVB. Source Language considered for this purpose is C sharp (C#) and the target language is Visual Basics (VB). ...
Lezos et al. presented a source to source compiler MEMSCOPT for Dynamic code analysis and loop transformations and assisting the optimization of the memory hierarchy of a digital hardware system. ...
doi:10.54692/lgurjcsit.2020.0404107
fatcat:lx3in2i6afecxgtz4l7gfp6c7a
Broadway: A Software Architecture for Scientific Computing
[chapter]
2001
IFIP Advances in Information and Communication Technology
We offer a solution that uses a compiler to automatically optimize library implementations and the application programs that use them. ...
Scientific programs rely heavily on software libraries. This paper describes the limitations of this reliance and shows how it degrades software quality. ...
For example, the library source might be encoded to prevent general access to the source, and the output code does not necessarily need to be produced as a single unified piece of code. ...
doi:10.1007/978-0-387-35407-1_11
fatcat:nktgptneg5hmdapwhr4pqicemu
An Extensible Open-Source Compiler Infrastructure for Testing
[chapter]
2006
Lecture Notes in Computer Science
ROSE specifically targets developers who wish to build sourcebased tools that implement customized analyses and optimizations for large-scale C, C++, and Fortran90 scientific computing applications (on ...
Testing forms a critical part of the development process for large-scale software, and there is growing need for automated tools that can read, represent, analyze, and transform the application's source ...
Department of Energy (DOE) project to develop an open-source compiler infrastructure for optimizing large-scale (on the order of a million lines or more) DOE applications [1, 2] . ...
doi:10.1007/11678779_9
fatcat:z3rj2wecm5g2jktnkr3cmcrvnq
Active Libraries: Rethinking the roles of compilers and libraries
[article]
1998
arXiv
pre-print
Unlike traditional libraries which are passive collections of functions and objects, Active Libraries may generate components, specialize algorithms, optimize code, configure and tune themselves for a ...
We describe Active Libraries, which take an active role in compilation. ...
Portions of this paper grew out of joint work with David Vandevoorde (who coined the term active library), Krzysztof Czarnecki, Ulrich Eisenecker, and Robert Glück [9] . ...
arXiv:math/9810022v1
fatcat:nldkdmiiibe5noiqqs3bj7wyu4
Python in Computational Science: Applications and Possibilities
2018
International Journal of Computer Applications
The salient features of python make it an ideal language for scientific computing exposing the shortcomings of legacy languages and prototyping platforms. ...
Python can also be used as a glue language to wrap around existing static compiled code to obtain optimum performance. ...
Before the advent of FORTRAN, all programming used to be coded in assembly language. Moreover, FORTRAN was specifically designed for scientific computing. ...
doi:10.5120/7058-9799
fatcat:2576rr4ay5ecrhne3pobisxaj4
« Previous
Showing results 1 — 15 out of 27,585 results