27,585 Hits in 6.2 sec

The Specification of Source-to-Source Transformations for the Compile-Time Optimization of Parallel Object-Oriented Scientific Applications [chapter]

Daniel J. Quinlan, Markus Schordan, Bobby Philip, Markus Kowarschik
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

D.J. Quinlan, B. Miller, B. Philip, M. Schordan
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]

Dan Quinlan, Markus Schordan, Qing Yi, Bronis R. de Supinski
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

Daniel J. Quinlan, Markus Schordan, Brian Miller, Markus Kowarschik
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]

Federico Bassetti, Kei Davis, Dan Quinlan
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

Ananta Tiwari, Jeffrey K Hollingsworth, Chun Chen, Mary Hall, Chunhua Liao, Daniel J Quinlan, Jacqueline Chame
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]

Federico Bassetti, Kei Davis, Dan Quinlan
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

D. Quinlan, M. Schordan, R. Vuduc, Qing Yi
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]

Dan Quinlan, Markus Schordan, Qing Yi, Andreas Saebjornsen
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

Vincent Cavé, Jisheng Zhao, Zoran Budimlić, Vivek Sarkar, James Gunning, Michael Glinsky
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

Muhammad Ilyas
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]

Samuel Z. Guyer, Calvin Lin
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]

Dan Quinlan, Shmuel Ur, Richard Vuduc
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]

Todd L. Veldhuizen, Dennis Gannon
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

Md. Golam Rashed, Raquib Ahsan
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