Program generators for high performance libraries are an appealing solution to the recurring problem of porting and optimizing code with every new processor generation, but only few such generators exist to date. This is due to not only the difficulty of the design, but also of the actual implementation, which often results in an ad-hoc collection of standalone programs and scripts that are hard to extend, maintain, or reuse. In this paper we ask whether and which programming language concepts and features are needed to enable a more systematic construction of such generators. The systematic approach we advocate extrapolates from existing generators: a) describing the problem and algorithmic knowledge using one, or several, domain-specific ...
Modern programming languages such as Scala, Java and C# make extensive use of collections. A collect...
This paper describes how the use of software libraries, which is prevalent in high performance comp...
Programs expressed in a high-level programming language need to be translated to a low-level machine...
Abstract Program generators for high performance libraries are an appealing solution to the recurrin...
As the complexity of machines and architectures has increased, performance tuning has become more ch...
Abstract. We demonstrate Spiral, a domain-specific library generation system. Spiral generates high ...
AbstractThe quality of compiler-optimized code for high-performance applications is far behind what ...
Multitier programming languages reduce the complexity of developing distributed systems by developin...
Abstract: This paper describes polytypic staging, – an approach to staging of a domain-spe...
Abstract. To simultaneously provide rapid application development and high performance, developers o...
As processor complexity increases compilers tend to deliver suboptimal performance. Library generat...
Scala relies on libraries as the default mechanism for language extension. While this provides an el...
Domain-specific languages (DSLs) can bridge the gap between high-level programming and efficient exe...
Datatype-generic programming (DGP) involves parametrization of programs by the shape of data, in the...
The development of high performance libraries on modern hardware is extremely difficult and often re...
Modern programming languages such as Scala, Java and C# make extensive use of collections. A collect...
This paper describes how the use of software libraries, which is prevalent in high performance comp...
Programs expressed in a high-level programming language need to be translated to a low-level machine...
Abstract Program generators for high performance libraries are an appealing solution to the recurrin...
As the complexity of machines and architectures has increased, performance tuning has become more ch...
Abstract. We demonstrate Spiral, a domain-specific library generation system. Spiral generates high ...
AbstractThe quality of compiler-optimized code for high-performance applications is far behind what ...
Multitier programming languages reduce the complexity of developing distributed systems by developin...
Abstract: This paper describes polytypic staging, – an approach to staging of a domain-spe...
Abstract. To simultaneously provide rapid application development and high performance, developers o...
As processor complexity increases compilers tend to deliver suboptimal performance. Library generat...
Scala relies on libraries as the default mechanism for language extension. While this provides an el...
Domain-specific languages (DSLs) can bridge the gap between high-level programming and efficient exe...
Datatype-generic programming (DGP) involves parametrization of programs by the shape of data, in the...
The development of high performance libraries on modern hardware is extremely difficult and often re...
Modern programming languages such as Scala, Java and C# make extensive use of collections. A collect...
This paper describes how the use of software libraries, which is prevalent in high performance comp...
Programs expressed in a high-level programming language need to be translated to a low-level machine...