Response #1: 2005-08-09
1. Is dense linear algebra a performance bottleneck in your applications?
2. How often do your applications use the arithmetic precisions listed below:
|a. Single precision: || Sometimes|
|b. Double precision: || Very Frequently|
|c. More than double precision: || Rarely|
|d. Complex single precision: || Sometimes|
|e. Complex double precision: || Very Frequently|
|f. Complex, more than double precision: || Rarely|
3. What dense matrix sizes are most important or time-consuming for your application?
1,000s X 1,000s
4. Does your application come close to, or run out of memory on important problems?
5. Number of processors used for your application:
|a. SMP: ||Less than 10|
|b. Distributed shared-memory: ||More than 100|
|c. Distributed memory: ||More than 10,000|
6. Which architectures do you use or intend to use in the next three years?
Multi-core-thread, Symmetric-multi-procs, Vector-computers, Distributed-shared-memory, Distributed-memory
8. Please rank how the following features would be useful to your current or planned applications?
|a. User defined matrix types: ||Very useful|
|b. Using optional arguments in the language interface: ||Somewhat useful|
|c. Automatic memory allocation of the work space: ||Very useful|
|d. More complicated matrix data structures: ||Somewhat useful|
9. Do your applications solve linear algebra problems of the type?
Linear positive definite systems, Banded linear systems, General linear systems, Generalized eigenvalue
1. Do you use LAPACK (or a vendor version of LAPACK )?
4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
I usually try to use the vendor's version first and if it is not available, costs too much, or for some other reason too much work, use Netlib's version next.
6. Do your applications make direct LAPACK calls?
7. Do your applications use libraries which depend on LAPACK?
8. Do your applications use a higher-level interface to LAPACK?
10. Is the LAPACK procedure interface a barrier to more extensive use?
11. From which languages do you call LAPACK routines?
C, C++, Fortran 77, Fortran 90/95
12. Please describe any tools or helper functions that you frequently implement to assist your applications in using LAPACK?
We have built a C++ interface for BLAS and LAPACK that uses the ability to overload arguments and removes the need to encode precision into the name of the method/subroutine.
We have also defined the simples possible matrix concept and use generic linear algebar operations that interface to LAPACK and BLAS.
13. How could the LAPACK interface be improved to feel more natural to your application and implementation language?
Short of doing a full thing with a generic linear algebra library (modeled after blitz++ or MTL), I favor the pragmatic and simple approach I described in item 12.
14. If you have installed LAPACK yourself, how could the installation process be improved?
This is a minor issue: complete the LAPACK implementation in ATLAS so that optimized BLAS and LAPACK can be installed in one package.
15. How frequently do you refer to the LAPACK Users Guide?
1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
15. How frequently do you refer to the ScaLAPACK Users Guide?
Targeted Environment Specifics
1. Under which operating system environments do your applications run?
AIX, BSD, Linux, Solaris, Tru64, Unicos, Windows (cygwin), Mac OS X
2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
|I am currently not using ScaLAPACK but I probably should. I would like to spend some time thinking about how to best integrate with C++.
I also would like to discuss is the way to use BLAS and LAPACK from C++ can be standardised. Several people have asked me for help, and I'm offering the interfaces we developed in the psimag toolkit. It would be nice if we could decide on properly suporting one model.|
|7. Use DOE-lab resources||Yes|