Search
Now showing items 1-10 of 18
Domain-Specific Type Inference for Library Generation in a Telescoping Compiler
(2004-04-14)
Telescoping languages is a strategy for allowing users to develop code in high-level, domain-specific languages and still achieve high performance. It uses extensive offline processing of the library defining the language. This process speculatively determines the possible uses of the library subroutines and generates variants specialized toward those ...
Scalarizing Fortran 90 Array Syntax
(2001-03-30)
Array syntax is an important feature introduced in Fortran 90. It adds more expressive power to the language by allowing operations and assignments on the array sections. Programmers will benefit from this new feature directly by writing simple and concise programs. The remaining work is left to compilers that finally compile these statements with ...
Static Type Inference for Specialization in a Telescoping Compiler
(2004-09-01)
The telescoping languages approach achieves high performance from applications encoded as high-level scripts. The core idea is to pre-compile underlying libraries to generate multiple variants optimized for use indifferent possible contexts including different argument types. This paper proposes a type inference algorithm that enables this kind of ...
Object-Oriented Type Inference for Telescoping Languages
(2004)
The telescoping-languages approach achieves high performance from applications encoded as high-level scripts. The core idea is to pre-compile underlying libraries to generate multiple variants optimized for use indifferent possible contexts including different argument types. We have previously developed a type inference algorithm that enables ...
Evaluating a Model for Cache Conflict Miss Prediction
(2005-04-10)
Cache conflict misses can cause severe degradation in application performance. Previous research has shown that for many scientific applications majority of cache misses are due to conflicts in cache. Although, conflicts in cache are a major concern for application performance it is often difficult to eliminate them completely. Eliminating conflict ...
Transforming Complex Loop Nests For Locality
(2002-02-19)
Because of the increasing gap between the speeds of processors and standard memory chips, many compiler techniques have been developed to enhance locality of applications. This paper focuses on automatically optimizing complicated loop structures, for which existing techniques are either ineffective or require too much computation time to be practical ...
Scheduling Algorithms Performance Evaluation in Grid Environments
(2006-04-18)
Effective scheduling is critical for the performance of an application launched onto the Grid environment. Deriving efficient algorithms for this scheduling has always been a challenging research area. Many scheduling algorithms have been proposed, studied and compared but there are few studies comparing their performance in Grid environments. The ...
Type-Based Speculative Specialization in a Telescoping Compiler for MATLAB
(2003-01-17)
Telescoping languages is a strategy to automatically generate highly-optimized domain-specific libraries. The key idea is to create specialized variants of library procedures through extensive offline processing. This paper describes a telescoping system, called ARGen, which generates high-performance Fortran or C libraries from prototype Matlab code ...
Resource Constrained Loop Fusion
(2003-09-03)
Embedded processors have limited on-chip memory. Fusing loops that use the same data can reduce the distance between accesses to the same memory location, avoiding costly off-chip memory transfer. Most existing greedy fusion algorithms solve the unconstrained problem—they do not guard against negative effects of excessive fusion. When a large program ...
Scalable Grid Application Scheduling via Decoupled Resource Selection and Scheduling
(2006-01-20)
Over the past years grid infrastructures have been deployed at larger and larger scales, with envisioned deployments incorporating tens of thousands of resources. Therefore, application scheduling algorithms can become unscalable (albeit polynomial) and thus unusable in large-scale environments. One reason for unscalability is that these algorithms ...