Boost logo

Glas :

[glas] summary of fonctionnalities

From: Yves Renard (Yves.Renard_at_[hidden])
Date: 2005-02-09 03:46:03

> I think one of the main goals of GLAS should be to provide a generic
> interface specification containing support for all BLAS operations. The
> GLAS should be able to support the development of generic libraries
> similar to (P)ARPACK, Aztec, BLZPACK, ITL, (Sca)LAPACK, PETSc,
> SuperLU(_DIST), TSFCore, etc.
> The generics should allow:
> _ mixing dense and sparse containers
> _ structured matrices (symmtric,hermitian,skew-symm,...)
> _ views (ranges,slices,indirect,...)
> _ containers to be stored on the heap,stack and out-of-core,
> _ containers to be distributed (over multiple processes)
> _ bindings to 3rd party libraries such as (tuned)BLAS, LAPACK, PETSc, Aztec,
> _ efficient expression evaluation (blocking, expression-templates,
> automatic use of optimised kernels to evaluate (sub-)expressions,...)

I included also in Gmm++ :
- mixing value types (float double complex<double> ...)
- sorted and unsorted sub indices (i.e. sub vector and sub matrices
  defined by a sorted or not vector of indices). I used it frequently in
  Getfem for instance for pivoting a matrix or extract a sub-stiffness matrix
  for a sub-set of degrees of freedom, or to write a elementary stiffness
  matrix inside the global stiffness matrix.

In fact, I have a question which is perhaps innapropriate

What is the degree of generality which is possible to handle reasonably (I.e.
possible to implement in a finite time ... !) using expression templates.
(If one wants to have all type of dense, skyline and sparse matrices, rowwise
and columnwise, be able to multiply any format with any other format with the
result in any format ...)
With a reduced set of functions like in MTL or what I did with Gmm++ it is
possible to handle it, but with expression templates the number of cases to
deal with seems to me to be exponentially great.


  Yves Renard (renard_at_[hidden])         tel : (33)
  Dept de Mathematiques, INSA de Toulouse       fax : (33)
  Complexe Scientifique de Rangueil
  31077 Toulouse Cedex, FRANCE