A technique for supporting quadtree matrices in a lazy functional langauge is presented that ameliorates tensions between performance and purity. In large matrix computations the facility to update in-place is a requisite for high performance. Thus, techniques for applying safe side effects to quadtree matrices are presented. Performance enhancements come via intrinsic properties of quadtree matrices, e.g., locality of reference. The expressiveness of quadtree matrix algorithms is enhanced by the tools of the higher-order, typed language, Haskell. Matrix-matrix multiply and Cholesky factorization are provided with time comparisons to C. In contrast to our earlier work, the protocol is convenient even for Fortran programmers and its performa...
It has often been suggested that functional languages provide an excellent basis for programming par...
Loopless algorithms generate successive combinatorial patterns in constant time, producing the first...
Abstract The Haskell String type is notoriously inefficient. We introduce a new data type, ByteStrin...
Many scheduling and synchronization problems for large-scale multiprocessing can be overcome using f...
A proof of concept is offered for the uniform representation of matrices serially in Morton-order (o...
Using literate programming, complete Gofer code to invert a floating-point quadtree matrix is presen...
New areas of applications make the world of supercomputing more important than ever before. The prog...
The array plays a prominent role in imperative programming languages because the data structure bear...
The array plays a prominent role in imperative programming languages because the data structure bear...
The aim of the FAST Project is to provide an implementation of a functional language, Haskell, on a ...
With the emergence of thread-level parallelism as the primary means for continued improvement of per...
We propose a parallel specialized language that ensures portable and cost-predictable implementation...
Depth-first search is the key to a wide variety of graph algorithms. In this paper we explore the im...
The Basic Linear Algebra Subprograms or BLAS provide the foundation for much of the software used i...
The goal of the LAPACK project is to provide efficient and portable software for dense numerical lin...
It has often been suggested that functional languages provide an excellent basis for programming par...
Loopless algorithms generate successive combinatorial patterns in constant time, producing the first...
Abstract The Haskell String type is notoriously inefficient. We introduce a new data type, ByteStrin...
Many scheduling and synchronization problems for large-scale multiprocessing can be overcome using f...
A proof of concept is offered for the uniform representation of matrices serially in Morton-order (o...
Using literate programming, complete Gofer code to invert a floating-point quadtree matrix is presen...
New areas of applications make the world of supercomputing more important than ever before. The prog...
The array plays a prominent role in imperative programming languages because the data structure bear...
The array plays a prominent role in imperative programming languages because the data structure bear...
The aim of the FAST Project is to provide an implementation of a functional language, Haskell, on a ...
With the emergence of thread-level parallelism as the primary means for continued improvement of per...
We propose a parallel specialized language that ensures portable and cost-predictable implementation...
Depth-first search is the key to a wide variety of graph algorithms. In this paper we explore the im...
The Basic Linear Algebra Subprograms or BLAS provide the foundation for much of the software used i...
The goal of the LAPACK project is to provide efficient and portable software for dense numerical lin...
It has often been suggested that functional languages provide an excellent basis for programming par...
Loopless algorithms generate successive combinatorial patterns in constant time, producing the first...
Abstract The Haskell String type is notoriously inefficient. We introduce a new data type, ByteStrin...