LAPACK and ScaLAPACK Survey Results - by response

[ view answers grouped by question ]



Response #1: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Never
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
100,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: Less than 10
b. Distributed shared-memory: Less than 10
c. Distributed memory: Less than 10

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread, Symmetric-multi-procs, Vector-computers, Distributed-shared-memory, Distributed-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
BLAS, linpack, eispack (legacy code)

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not useful
b. Using optional arguments in the language interface: Not useful
c. Automatic memory allocation of the work space: Not useful
d. More complicated matrix data structures: Very useful

9. Do your applications solve linear algebra problems of the type?
Linear positive definite systems, General linear systems, Generalized eigenvalue, Symmetric eigenvalue, Non-symmetric eigenvalue, SVDs

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
vendor lib decreases our runtime by 10%-20% (of calculations taking hours to days).

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 77

15. How frequently do you refer to the LAPACK Users Guide?
Rarely

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

3. If using another package, which one(s)?
(we use coarse-gain parallelization above the numerical layer)

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, IRIX, Linux, Solaris, Tru64, Unicos

2a. Please specify any particular libraries of frameworks used?
MPI, pthreads, OpenMP

3a. Please specify any particular libraries of frameworks used?
MPI


Additional Information

5.Description of related activities
programmer and maintainer of ACESII computational chemistry package



Response #2: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Frequently
c. More than double precision: Rarely
d. Complex single precision: Never
e. Complex double precision: Never
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
100,000s X 100,000s

4. Does your application come close to, or run out of memory on important problems?
No

5. Number of processors used for your application:

a. SMP: More than 1,000
b. Distributed shared-memory: More than 1,000
c. Distributed memory: More than 1,000

6. Which architectures do you use or intend to use in the next three years?
Distributed-memory, Hybrid-shared

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat 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: Very useful

9. Do your applications solve linear algebra problems of the type?
Linear positive definite systems, Generalized eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
Yes

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call ScaLAPACK routines?
Fortran 90/95

15. How frequently do you refer to the ScaLAPACK Users Guide?
Sometimes

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
HP/UX, Linux

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing




Response #3: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
No

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Very Frequently
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Rarely
e. Complex double precision: Very Frequently
f. Complex, more than double precision: Never

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?
Yes

5. Number of processors used for your application:

a. SMP:
b. Distributed shared-memory: Less than 10
c. Distributed memory:

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
CLAPACK

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat useful
b. Using optional arguments in the language interface: Not useful
c. Automatic memory allocation of the work space: Very useful
d. More complicated matrix data structures: Very useful

9. Do your applications solve linear algebra problems of the type?
Banded linear systems, Generalized eigenvalue, Symmetric eigenvalue, Non-symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
No

2. If you do not use LAPACK, why?
Use another pkg

3. If using another package, which one(s)?
CLAPACK

6. Do your applications make direct LAPACK calls?
No

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
Yes

9. If you answered yes above, which higher-level interfaces do you use?
CLAPACK

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, C++, Fortran 77

12. Please describe any tools or helper functions that you frequently implement to assist your applications in using LAPACK?
CLAPACK

15. How frequently do you refer to the LAPACK Users Guide?
Rarely

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

15. How frequently do you refer to the ScaLAPACK Users Guide?

Targeted Environment Specifics




Response #4: 2005-08-09

General

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Sometimes
d. Complex single precision: Never
e. Complex double precision: Sometimes
f. Complex, more than double precision: Rarely

3. What dense matrix sizes are most important or time-consuming for your application?
10,000s X 10,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: Less than 10
b. Distributed shared-memory: Less than 10
c. Distributed memory: More than 100

6. Which architectures do you use or intend to use in the next three years?
Distributed-memory

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
none

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types:
b. Using optional arguments in the language interface: Very 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?
General linear systems, Non-symmetric eigenvalue, SVDs

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

11. From which languages do you call LAPACK routines?
C, Fortran 90/95, Python

14. If you have installed LAPACK yourself, how could the installation process be improved?
Haaave the default make target *not* run the test phase.

15. How frequently do you refer to the LAPACK Users Guide?
Frequently

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

15. How frequently do you refer to the ScaLAPACK Users Guide?

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Linux, opteron-based systems


Additional Information

6.Additional Comments/Suggestions
I'm not a primary customer and more weight should be given to the comments from apps users. Mainly I'm filling this in so that the Lapack team will know they have yet another customer. :-)



Response #5: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Rarely
b. Double precision: Sometimes
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?
100,000s X 100,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 10
c. Distributed memory: More than 100

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread, Vector-computers, Distributed-shared-memory, Distributed-memory, Hybrid-shared

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not 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: Very useful

9. Do your applications solve linear algebra problems of the type?
General linear systems

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
vendor's version may only have LU solver, not the full library

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
No

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 90/95

14. If you have installed LAPACK yourself, how could the installation process be improved?
would be nice if the testing and verification process is quicker

15. How frequently do you refer to the LAPACK Users Guide?
Frequently

16. What information in the LAPACK guide is hard to find or is missing, if any?
More examples would be nice (more examples for scalapack would be nice as well)

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
Fortran 90/95

13. How could the ScaLAPACK interface be improved to feel more natural to your application and implementation language?
Would be nice if there are tools or example to help in setting up the matrix, distributing data, reading/writing the matrix

14. If you have installed ScaLAPACK yourself, how could the installation process be improved?
Installation can be complicated involving BLACS, PBLAS, MPI, interfacing C and Fortran 77/90 compilers. Common problem is 1 versus 2 underscores in symbol names. Perhaps there can be C interface stubs to accomodate both versions.

15. How frequently do you refer to the ScaLAPACK Users Guide?
Frequently

16. What information in the ScaLAPACK guide is hard to find or is missing, if any?
Details in the code such as how the pivot vector is distributed and used, layout of data in distributed band solver, details about the QR factorization.

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, Linux, Unicos

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

5.Description of related activities
Compact storage for scalapack. Out of core extension for scalapack.
6.Additional Comments/Suggestions
Would be nice if the technology in HPL (look ahead, recursive options) can be merged back into PZGETRF/PZGETRS. Currently HPL is only in double in C so double complex is not available. HPL works on rhs but conceptually an extra pass over L should make it compatible with PxGETRF. General symmetric linear solver (LTL') (perhaps in packed storage as well) would be nice. Since performance of PBLAS is crucial for scalapack, it would be nice if there are parameters to tune PBLAS, especially on triangular solvers. More examples or tutorials (like PETSc) to help new users to use scalapack. Better interfaces for scalapack with other iterative linear solvers such as PETSc or Object oriented CCA technology.



Response #6: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Never
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
10,000s X 10,000s

4. Does your application come close to, or run out of memory on important problems?
No

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 10
c. Distributed memory: More than 100

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread, Symmetric-multi-procs, Distributed-shared-memory, Distributed-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
PETSc

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: Not 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?
Banded linear systems, General linear systems, Least-square problems, SVDs

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, Fortran 77, Fortran 90/95, R

15. How frequently do you refer to the LAPACK Users Guide?
Frequently

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
Yes

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call ScaLAPACK routines?
C

13. How could the ScaLAPACK interface be improved to feel more natural to your application and implementation language?
A consistent interface for the QR routines with pivoting would be most useful. The public version of QR routines seem to fail for one-column matrices.

14. If you have installed ScaLAPACK yourself, how could the installation process be improved?
Definitely can be improved compared to GNU and R packages or even PETSc which requires more work than the other two.

15. How frequently do you refer to the ScaLAPACK Users Guide?
Frequently

16. What information in the ScaLAPACK guide is hard to find or is missing, if any?
A clear and concise definition of the API would be most welcome. The explanations in the comments is commonly found to be confusing among would be user.

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, HP/UX, IRIX, Linux, Unicos

2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
Platform threading


Additional Information

7. Use DOE-lab resourcesYes



Response #7: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
No

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Sometimes
d. Complex single precision: Never
e. Complex double precision: Rarely
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
100s X 100s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 10,000
b. Distributed shared-memory: More than 10,000
c. Distributed memory: More than 10,000

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread, Symmetric-multi-procs, Vector-computers, Distributed-shared-memory, Distributed-memory, Hybrid-shared

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: Very useful
c. Automatic memory allocation of the work space: Very useful
d. More complicated matrix data structures: Very useful

9. Do your applications solve linear algebra problems of the type?
Generalized eigenvalue, Symmetric eigenvalue, SVDs

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
netlib's version is less convenient to use since it does not have Makefiles.

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call LAPACK routines?
C, C++

13. How could the LAPACK interface be improved to feel more natural to your application and implementation language?
Object orientation

15. How frequently do you refer to the LAPACK Users Guide?
Rarely

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

15. How frequently do you refer to the ScaLAPACK Users Guide?

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Linux, Unicos, MacOS X

2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
Platform threading




Response #8: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Rarely
d. Complex single precision: Never
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?
10,000s X 10,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 10
c. Distributed memory: More than 100

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread, Symmetric-multi-procs, Vector-computers, Distributed-memory, Hybrid-shared, Widely-distributed

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: Very useful

9. Do your applications solve linear algebra problems of the type?
General linear systems, Generalized eigenvalue, Symmetric eigenvalue, Least-square problems, SVDs

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

6. Do your applications make direct LAPACK calls?
No

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
Yes

9. If you answered yes above, which higher-level interfaces do you use?
C++ bindings from boost-sandbox

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
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?
C++ interfaces

13. How could the LAPACK interface be improved to feel more natural to your application and implementation language?
see the draft LAPACK bindings of the C++ boost project

14. If you have installed LAPACK yourself, how could the installation process be improved?
use a simple configure script

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call ScaLAPACK routines?
Fortran 90/95

15. How frequently do you refer to the ScaLAPACK Users Guide?
Sometimes

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, BSD, HP/UX, Linux, Unicos

2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
Multiple

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

5.Description of related activities
Computational condensed matter physics



Response #9: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Very Frequently
f. Complex, more than double precision: Never

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?
No

5. Number of processors used for your application:

a. SMP: Less than 10
b. Distributed shared-memory: Less than 10
c. Distributed memory: Less than 10

6. Which architectures do you use or intend to use in the next three years?
Distributed-memory

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types:
b. Using optional arguments in the language interface:
c. Automatic memory allocation of the work space: Very useful
d. More complicated matrix data structures:

9. Do your applications solve linear algebra problems of the type?
General linear systems, Generalized eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
No

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 77, Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Frequently

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

15. How frequently do you refer to the ScaLAPACK Users Guide?

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Linux


Additional Information

7. Use DOE-lab resourcesYes



Response #10: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Very Frequently
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
10,000s X 10,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP:
b. Distributed shared-memory:
c. Distributed memory: More than 1,000

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread, Vector-computers, Distributed-shared-memory, Distributed-memory, Hybrid-shared

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: Somewhat useful
d. More complicated matrix data structures: Not useful

9. Do your applications solve linear algebra problems of the type?
Linear positive definite systems, General linear systems, Generalized eigenvalue, Symmetric eigenvalue, SVDs

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
Very similar in performance provided you use an optimised BLAS

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
No

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 77, Fortran 90/95

13. How could the LAPACK interface be improved to feel more natural to your application and implementation language?
Fortran 90/95 interfaces would be more natural Overload so that have one routine name for all data types

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
Fortran 77

13. How could the ScaLAPACK interface be improved to feel more natural to your application and implementation language?
Same as LAPACK: F90/95 interfaces, overload GET RID OF BLACS: Use MPI instead Memory for diagonalizers often seems an awful lot, and sometimes stops jobs that I think should run from running.

15. How frequently do you refer to the ScaLAPACK Users Guide?
Frequently

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, IRIX, Linux

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

5.Description of related activities



Response #11: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
No

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: Frequently
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
1,000,000 or more X 1,000,000 or more

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: Less than 10
b. Distributed shared-memory: More than 10
c. Distributed memory: Less than 10

6. Which architectures do you use or intend to use in the next three years?
Sequential, Distributed-shared-memory, Distributed-memory

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
no

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not useful
b. Using optional arguments in the language interface: Not useful
c. Automatic memory allocation of the work space: Somewhat useful
d. More complicated matrix data structures: Not useful

9. Do your applications solve linear algebra problems of the type?
Symmetric eigenvalue, SVDs

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

2. If you do not use ScaLAPACK, why?
Not solving linear algebra

15. How frequently do you refer to the ScaLAPACK Users Guide?

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Linux

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

7. Use DOE-lab resourcesYes



Response #12: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Rarely
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Very Frequently
e. Complex double precision: Sometimes
f. Complex, more than double precision: Never

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?
Yes

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 10
c. Distributed memory: More than 100

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread, Distributed-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
fftw

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, Symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
Roughly equal, given well optimized BLAS (e.g. Atlas)

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, C++, Fortran 77, Fortran 90/95, Python

12. Please describe any tools or helper functions that you frequently implement to assist your applications in using LAPACK?
Numeric Python

13. How could the LAPACK interface be improved to feel more natural to your application and implementation language?
Better integration with Python

14. If you have installed LAPACK yourself, how could the installation process be improved?
It could not be improved

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

16. What information in the LAPACK guide is hard to find or is missing, if any?
N/A

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call ScaLAPACK routines?
Fortran 77

12. Please describe any tools or helper functions that you frequently implement to assist your applications in using ScaLAPACK?
None, although I'd like some

13. How could the ScaLAPACK interface be improved to feel more natural to your application and implementation language?
Better interface to Blacs. The redist utils are a great start, but they're poorly documented, and frequently when the system administrators install scalapack they don't even know that they should also build redist.

14. If you have installed ScaLAPACK yourself, how could the installation process be improved?
It's pretty good, although I recall having to go through a lot of configuration tweaking to make it work. Autoconf might help here.

15. How frequently do you refer to the ScaLAPACK Users Guide?
Very Frequently

16. What information in the ScaLAPACK guide is hard to find or is missing, if any?
redist!! Plus, information *about* redistributing matrices with/without the redist utilities. Scalapack is of no use to anyone if people can't get their matrices distributed on the computers.

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Linux, Mac OS X

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

5.Description of related activities
Working on density matrix techniques as eigensolver replacements in quantum chemistry. This relies heavily on (sca)lapack.
6.Additional Comments/Suggestions
Lapack is one of the best things that has ever happened to me. Everyone of the lapack workers that I've interacted with has bent over backwards to be helpful. This survey is yet another example of how the lapack people care about being useful to their community. If you ever need someone to write glowing letters of support for grant applications (particularly someone from a US National Lab other than ORNL), don't hesitate to contact me at the address above.
7. Use DOE-lab resourcesYes



Response #13: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Rarely
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Never
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
100s X 100s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 100
c. Distributed memory: More than 100

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread, Symmetric-multi-procs, Vector-computers, Distributed-shared-memory, Distributed-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
scilib

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not useful
b. Using optional arguments in the language interface: Not 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?
General linear systems, Generalized eigenvalue, Symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

2. If you do not use LAPACK, why?
Cost of learning

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
Netlib's version provides the source code, very helpful in porting. I use vendor's LAPACK functions whenever possible.

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 77

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

2. If you do not use ScaLAPACK, why?
Cost of learning

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, IRIX, Linux, Unicos, Windows (other)


Additional Information

7. Use DOE-lab resourcesYes



Response #14: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Never
f. Complex, more than double precision:

3. What dense matrix sizes are most important or time-consuming for your application?
10,000s X 10,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 100
b. Distributed shared-memory: More than 1,000
c. Distributed memory: More than 1,000

6. Which architectures do you use or intend to use in the next three years?
Vector-computers, Distributed-shared-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
perhaps the 'parallel relatively robust representation' code. It has less memory requirements which favours a small cluster.

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types:
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:

9. Do your applications solve linear algebra problems of the type?
Symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
This depends on the architecture/compiler: The AMD (ACML) libraries perform very well, though interacting with the 'fastsse' options on the portland group compiler can cause rare failures. So most ScaLapack/Lapack libraries are a mixture on 'pre' and 'locally' compiled. At NERSC, linking to the 'essl' library , ( for DGEMM) has proved substantially faster than a user compiled version.

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 77, Fortran 90/95

12. Please describe any tools or helper functions that you frequently implement to assist your applications in using LAPACK?
1. Perhaps an architecture independent diagnostic, that would interrogate a particlur system for different L1 and L2 cache boundaries and suggest optimum matrix size. 2. DGEMM_HALF ... ie knowing my matrix solution will be symmetric in advance,i would like a half matrix multiply that scales as well as a vendor supplied DGEMM.

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
Fortran 77

14. If you have installed ScaLAPACK yourself, how could the installation process be improved?
It is still not at the 1. configure (compiler inquiries) 2. make 3. make install stage. What would be useful, is a script that searches for dependent libraries and then gives you the option 'Cannot find BLACS library' 1.Enter directory path or 2.Enter a directory path where i can install my own.

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
IRIX, Linux, Solaris, Unicos

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

5.Description of related activities
Electron-impact excitation/ionization of atoms for modelling of fusion diagnostics and experiments. From a computational perspective, it involves the repeated diagonalisation (ie 40-70 times) of symmetric matrices in excess of 50,000 in which ALL eigenvectors and ALL eigenvalues are required. The physics of electron scattering of relativistic targets will drive the size of these matrices upward by at least a factor 5 in coming years. I need efficient I/O and stable diagonalistion. I hope that the next generation of ScaLapack will not be as demanding on memory requirements. Ie. a 40K matrix is the maximum i can diagonalise over 25 opteron processors each with 2 Gb of Ram.



Response #15: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Sometimes
f. Complex, more than double precision: Never

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?
No

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 100
c. Distributed memory: More than 100

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread, Symmetric-multi-procs, Vector-computers, Distributed-shared-memory, Distributed-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
Peigs

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat useful
b. Using optional arguments in the language interface: Not useful
c. Automatic memory allocation of the work space: Somewhat useful
d. More complicated matrix data structures: Somewhat useful

9. Do your applications solve linear algebra problems of the type?
Generalized eigenvalue, Symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, Fortran 77

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct ScaLAPACK calls?
No

7. Do your applications use libraries which depend on ScaLAPACK?
Yes

8. Do your applications use a higher-level interface to ScaLAPACK?
No

11. From which languages do you call ScaLAPACK routines?
Fortran 77

12. Please describe any tools or helper functions that you frequently implement to assist your applications in using ScaLAPACK?
Global Arrays

13. How could the ScaLAPACK interface be improved to feel more natural to your application and implementation language?
64-bit integer arguments are needed (Fortran Integer*8 or C/C++ long long).

15. How frequently do you refer to the ScaLAPACK Users Guide?
Sometimes

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, HP/UX, IRIX, Linux, Solaris, Tru64, Unicos

2a. Please specify any particular libraries of frameworks used?
Global Arrays (that uses System V shared memory)

3a. Please specify any particular libraries of frameworks used?
Global Arrays


Additional Information

5.Description of related activities
Development of the computational chemistry software NWChem http://www.emsl.pnl.gov/docs/nwchem
7. Use DOE-lab resourcesYes



Response #16: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

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?
No

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

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, 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?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

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?
Rarely

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

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?
Multiple

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

6.Additional Comments/Suggestions
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 resourcesYes



Response #17: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Very Frequently
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Very Frequently
e. Complex double precision: Very Frequently
f. Complex, more than double precision: Never

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?
Yes

5. Number of processors used for your application:

a. SMP:
b. Distributed shared-memory:
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread, Vector-computers, Distributed-memory

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not useful
b. Using optional arguments in the language interface: Not useful
c. Automatic memory allocation of the work space: Not useful
d. More complicated matrix data structures: Very useful

9. Do your applications solve linear algebra problems of the type?
Generalized eigenvalue, Symmetric eigenvalue, SVDs

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
Mostly interchangeable. However, on occasion, the flexibility of configuring through ATLAS has been a key enabler.

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
No

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 77

12. Please describe any tools or helper functions that you frequently implement to assist your applications in using LAPACK?
None.

13. How could the LAPACK interface be improved to feel more natural to your application and implementation language?
I actually find the procedural interface as it stands quite natural, but then I'm one of the f77 dinosaurs.

15. How frequently do you refer to the LAPACK Users Guide?
Rarely

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
Fortran 77

12. Please describe any tools or helper functions that you frequently implement to assist your applications in using ScaLAPACK?
None.

13. How could the ScaLAPACK interface be improved to feel more natural to your application and implementation language?
A more extensive, and *universal*, pblas library. Portability of code is of paramount concern (for maintainability), and many of the support routines are not universal, and therefore the underlying distributed data structures need to be deciphered and the necessary functions hand-coded. Very ppu (personal processing unit) time-consuming.

15. How frequently do you refer to the ScaLAPACK Users Guide?
Rarely

16. What information in the ScaLAPACK guide is hard to find or is missing, if any?
Google . Works quite well, actually.

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
BSD, Linux

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

6.Additional Comments/Suggestions
I hope that, whatever changes are made to "modernize" lapack, that they be made in the manner to augment the current basic procedural functionality rather than replace it.
7. Use DOE-lab resourcesYes



Response #18: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
No

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Frequently
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
10,000s X 10,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: Less than 10
b. Distributed shared-memory:
c. Distributed memory: More than 100

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread, Distributed-memory

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not 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: Not useful

9. Do your applications solve linear algebra problems of the type?
General linear systems, Symmetric eigenvalue, Least-square problems, SVDs

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

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?
I usually wrap the f77 calls in f90 shells that allocate workspace memory as required.

13. How could the LAPACK interface be improved to feel more natural to your application and implementation language?
Automatic memory allocation for temporary/work arrays would be a nice option. I understand why LAPACK does the whole bit about 'leading dimension of array...' but it's awkward and clumsy. Would be nicer to use f90 interfaces that know what shape the array is, or a simple C++ array type that does as well. (But *not* a complicated C++ array type like Blitz supplies; don't make LAPACK itself dependent on anything!)

14. If you have installed LAPACK yourself, how could the installation process be improved?
The testing process is too slow. It's hard to believe the functionality oculdn't be tested with quicker-running problems. Perhaps have the option of the long test if you want it. A typical scenario is that I get onto some new machine and find I have to install LAPACK, then I can kiss productive time goodbye waiting for the tests to run.

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

2. If you do not use ScaLAPACK, why?
Use another pkg

3. If using another package, which one(s)?
LAPACK

15. How frequently do you refer to the ScaLAPACK Users Guide?

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Linux, Windows (cygwin)

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information




Response #19: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Never
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
100,000s X 100,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 10
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Sequential, Vector-computers, Distributed-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
Arpack

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat useful
b. Using optional arguments in the language interface: Not useful
c. Automatic memory allocation of the work space: Somewhat useful
d. More complicated matrix data structures: Somewhat useful

9. Do your applications solve linear algebra problems of the type?
Symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
No

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, Fortran 90/95

13. How could the LAPACK interface be improved to feel more natural to your application and implementation language?
There could be a facility to interrupt a Lapack call. This can be very useful in a multithreaded application, or one that makes use of asynchronous communication. I hacked this feature into Lapack3 in a fairly inelegant way. I identified several points in the Lapack code to call an external function, which was part of my application that handled communication events. These points were chosen so they were called fairly often during the course of solving my symmetric eigenvalue problem, but not in inner loops to avoid a performance hit. Because the Lapack functions have no parameters for such a purpose, I used "LDA" as a flag to indicate a situation where I need Lapack to abort the current operation, as opposed to just continuing on where it left off. In my application, this depended on the nature of the communication event.

15. How frequently do you refer to the LAPACK Users Guide?
Frequently

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

2. If you do not use ScaLAPACK, why?
Cost of learning

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, Linux

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

6.Additional Comments/Suggestions
In benchmarking my application that needs eigenpairs of a double precision symmetric matrix, I found that some architectures seem to have much greater overhead associated with function calls. In particular, I was comparing the different nodes on cheetah.ccs.ornl.gov that handle batch jobs (p690 1.3ghz) and interactive jobs (p655 1.7 ghz). I found that the speed was worse (factor of 1.8) on the batch node than one would expect by scaling to the difference in clock speed (factor of 1.3). I eventually convinced myself that the difference was caused by a huge number of function calls in inner loops, particularly the functions ROTG and DLARTG (e.g. 7 million calls per call to DSTEQR working with a 3750x3750 matrix). I found two ways to solve the problem. One was to recompile Lapack and my application using the highest optimization level (not recommended by the ORNL support folks because it takes so long for typically little benefit), which allows inlining of functions that exist in different source files. The other way was to put a copies of the ROTG and DLARTG in the source file that was generating so many calls. This allowed a lower optimization level to do the inlining. I don't know if there is any good solution other than recommending the use of a certain optimization level when compiling libraries and applications. Perhaps a preprocessor that would insert copies of functions into source files where they are called in inner loops?



Response #20: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
No

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: Never
d. Complex single precision: Frequently
e. Complex double precision: Frequently
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
1,000,000 or more X 1,000,000 or more

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: Less than 10
b. Distributed shared-memory: Less than 10
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Sequential, Symmetric-multi-procs, Distributed-shared-memory, Distributed-memory, Hybrid-shared

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat useful
b. Using optional arguments in the language interface: Very 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, Generalized eigenvalue, Symmetric eigenvalue, SVDs

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct LAPACK calls?
No

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, Fortran 77, Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
Yes

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call ScaLAPACK routines?
Fortran 77

15. How frequently do you refer to the ScaLAPACK Users Guide?
Sometimes

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, Linux, Solaris

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

5.Description of related activities
I have been working on parallel sparse solvers such as incomplete factorization preconditioners for iterative methods. In such precondtioners I sometimes exploits dense matrix computation to achieve better performance, but the cost of communication is typically more imprtant for the method of interest.



Response #21: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
No

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Rarely
b. Double precision: Very Frequently
c. More than double precision: Rarely
d. Complex single precision: Rarely
e. Complex double precision: Very Frequently
f. Complex, more than double precision: Never

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?
Yes

5. Number of processors used for your application:

a. SMP: Less than 10
b. Distributed shared-memory: Less than 10
c. Distributed memory: More than 1,000

6. Which architectures do you use or intend to use in the next three years?
Symmetric-multi-procs, Vector-computers, Distributed-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
No

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: Very 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?
General linear systems, Symmetric eigenvalue, Non-symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct LAPACK calls?
No

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call LAPACK routines?
C++

12. Please describe any tools or helper functions that you frequently implement to assist your applications in using LAPACK?
#if SP2 #define C2FCALL(x) x #else C2FCALL(x) x##_ #endif

15. How frequently do you refer to the LAPACK Users Guide?
Very Frequently

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
No

7. Do your applications use libraries which depend on ScaLAPACK?
Yes

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call ScaLAPACK routines?
C++

15. How frequently do you refer to the ScaLAPACK Users Guide?
Frequently

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, Linux, Solaris, Unicos, Windows (cygwin), Windows (other)

2a. Please specify any particular libraries of frameworks used?
MPI

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information




Response #22: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

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?
10,000s X 10,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: Less than 10
b. Distributed shared-memory: More than 10
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Multi-core-thread, Vector-computers, Distributed-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
IBM ESSL

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat 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: Not useful

9. Do your applications solve linear algebra problems of the type?
General linear systems, Symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, Fortran 77, Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
Yes

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
C

15. How frequently do you refer to the ScaLAPACK Users Guide?
Sometimes

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, IRIX, Linux, Windows (cygwin)

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

7. Use DOE-lab resourcesYes



Response #23: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Rarely
b. Double precision: Frequently
c. More than double precision: Frequently
d. Complex single precision: Rarely
e. Complex double precision: Frequently
f. Complex, more than double precision: Frequently

3. What dense matrix sizes are most important or time-consuming for your application?
10,000s X 10,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

6. Which architectures do you use or intend to use in the next three years?
Sequential, Symmetric-multi-procs, Distributed-shared-memory, Distributed-memory, Hybrid-shared, Widely-distributed

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
no

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, Generalized eigenvalue, Non-symmetric eigenvalue, SVDs

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, C++, Fortran 77

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
Yes

8. Do your applications use a higher-level interface to ScaLAPACK?
Yes

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
C

15. How frequently do you refer to the ScaLAPACK Users Guide?
Rarely

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
IRIX, Linux

2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
Multiple

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing




Response #24: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Rarely
b. Double precision: Very Frequently
c. More than double precision: Frequently
d. Complex single precision: Rarely
e. Complex double precision: Very Frequently
f. Complex, more than double precision: Frequently

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP:
b. Distributed shared-memory: More than 10
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Sequential, Distributed-memory

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat 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?
General linear systems, Generalized eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Frequently

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
Yes

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call ScaLAPACK routines?
Fortran 90/95

15. How frequently do you refer to the ScaLAPACK Users Guide?
Frequently

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Linux

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

7. Use DOE-lab resourcesYes



Response #25: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Frequently
b. Double precision: Very Frequently
c. More than double precision: Rarely
d. Complex single precision: Frequently
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?
100,000s X 100,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 100
b. Distributed shared-memory:
c. Distributed memory: More than 100

6. Which architectures do you use or intend to use in the next three years?
Hybrid-shared

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not useful
b. Using optional arguments in the language interface: Somewhat useful
c. Automatic memory allocation of the work space: Somewhat useful
d. More complicated matrix data structures: Somewhat useful

9. Do your applications solve linear algebra problems of the type?
Symmetric eigenvalue, Non-symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 77, Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
Yes

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
Fortran 90/95

15. How frequently do you refer to the ScaLAPACK Users Guide?
Sometimes

Targeted Environment Specifics

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing




Response #26: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Rarely
b. Double precision: Very Frequently
c. More than double precision: Rarely
d. Complex single precision: Rarely
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?
10,000s X 10,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 10
c. Distributed memory: More than 100

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread, Distributed-shared-memory, Distributed-memory, Hybrid-shared

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat 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?
General linear systems, Generalized eigenvalue, Symmetric eigenvalue, Least-square problems, SVDs

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
Generally more optimized, although I have not separated out the BLAS performance (actually use of vendor LAPACK over reference netlib version is often a matter of convenience when using vendor BLAS).

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

11. From which languages do you call LAPACK routines?
C, Fortran 77, Fortran 90/95, Python

15. How frequently do you refer to the LAPACK Users Guide?
Frequently

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
Fortran 77

15. How frequently do you refer to the ScaLAPACK Users Guide?
Frequently

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Linux

2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
Platform threading

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information




Response #27: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Never
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
10,000s X 10,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 10
c. Distributed memory: More than 100

6. Which architectures do you use or intend to use in the next three years?
Multi-core-thread, Symmetric-multi-procs, Distributed-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
no

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat useful
b. Using optional arguments in the language interface: Very useful
c. Automatic memory allocation of the work space: Not useful
d. More complicated matrix data structures: Very useful

9. Do your applications solve linear algebra problems of the type?
Linear positive definite systems, General linear systems, Generalized eigenvalue, Symmetric eigenvalue, SVDs

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
very similar

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C

15. How frequently do you refer to the LAPACK Users Guide?
Frequently

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
C

15. How frequently do you refer to the ScaLAPACK Users Guide?
Very Frequently

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Linux

2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
Platform threading

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information




Response #28: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Very Frequently
b. Double precision: Very Frequently
c. More than double precision:
d. Complex single precision: Very Frequently
e. Complex double precision: Very Frequently
f. Complex, more than double precision:

3. What dense matrix sizes are most important or time-consuming for your application?
10,000s X 10,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 10
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Multi-core-thread, Distributed-memory, Hybrid-shared

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not useful
b. Using optional arguments in the language interface: Not 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?
General linear systems, Generalized eigenvalue, Symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call LAPACK routines?
C++, Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
Yes

8. Do your applications use a higher-level interface to ScaLAPACK?
Yes

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call ScaLAPACK routines?
C++

14. If you have installed ScaLAPACK yourself, how could the installation process be improved?
It will be very helpful to make the distribution of matrix in columns instead of blocks.

15. How frequently do you refer to the ScaLAPACK Users Guide?
Very Frequently

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Linux, Tru64

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information




Response #29: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Very Frequently
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
10,000s X 10,000s

4. Does your application come close to, or run out of memory on important problems?
No

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: Less than 10
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Sequential, Distributed-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
ARPACK and PARPACK

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not 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?
General linear systems, Generalized eigenvalue, Non-symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
No real differences.

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 77, Fortran 90/95

14. If you have installed LAPACK yourself, how could the installation process be improved?
More automatic configuration, and some basic tuning.

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

2. If you do not use ScaLAPACK, why?
Cost of learning

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, Linux

2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
Platform threading

2a. Please specify any particular libraries of frameworks used?
IBM smp essl

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing

3a. Please specify any particular libraries of frameworks used?
petsc


Additional Information

7. Use DOE-lab resourcesYes



Response #30: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
No

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Rarely
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Rarely
e. Complex double precision: Very Frequently
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
100s X 100s

4. Does your application come close to, or run out of memory on important problems?
No

5. Number of processors used for your application:

a. SMP: Less than 10
b. Distributed shared-memory: More than 1,000
c. Distributed memory: More than 1,000

6. Which architectures do you use or intend to use in the next three years?
Vector-computers, Distributed-shared-memory, Distributed-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
No

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not useful
b. Using optional arguments in the language interface: Not useful
c. Automatic memory allocation of the work space: Somewhat useful
d. More complicated matrix data structures: Somewhat useful

9. Do your applications solve linear algebra problems of the type?
Banded linear systems, General linear systems

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
Similar. Usually performance depends on BLAS, for which the Goto BLAS performs on par with vendor BLAS.

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 90/95

13. How could the LAPACK interface be improved to feel more natural to your application and implementation language?
I don't see any obvious/major weakness to the current LAPACK (used under F90).

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

16. What information in the LAPACK guide is hard to find or is missing, if any?
Information about sparse matrices could be better documented.

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

15. How frequently do you refer to the ScaLAPACK Users Guide?

Targeted Environment Specifics


Additional Information

5.Description of related activities
We make limited use of LAPACK in the GYRO code. The dominant matrix structure is sparse, so for that we use UMFPACK.
6.Additional Comments/Suggestions
Additional sparse/banded matrix routines would be great, but I realize that opens up a new can of worms.



Response #31: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Very Frequently
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
100,000s X 100,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 100
b. Distributed shared-memory: More than 100
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Distributed-shared-memory, Distributed-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
ESSL

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: Not useful

9. Do your applications solve linear algebra problems of the type?
Symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

3. If using another package, which one(s)?
PARPACK

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
vendor version is substantially faster.

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
No

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C++, Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Rarely

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
C++

13. How could the ScaLAPACK interface be improved to feel more natural to your application and implementation language?
It is very inconvenient to prepare the data for ScaLAPACK. Should be more natural, at least as natural as lapack.

15. How frequently do you refer to the ScaLAPACK Users Guide?
Sometimes

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, Linux

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

5.Description of related activities
electronic structure calculation
7. Use DOE-lab resourcesYes



Response #32: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Rarely
b. Double precision: Very Frequently
c. More than double precision: Rarely
d. Complex single precision: Never
e. Complex double precision: Never
f. Complex, more than double precision: Never

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?
No

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 10
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Vector-computers, Distributed-shared-memory

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat 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?
General linear systems, Least-square problems

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
Yes

9. If you answered yes above, which higher-level interfaces do you use?
Matlab

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 90/95, Matlab

15. How frequently do you refer to the LAPACK Users Guide?
Frequently

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

2. If you do not use ScaLAPACK, why?
Not solving linear algebra

15. How frequently do you refer to the ScaLAPACK Users Guide?

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Linux

2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
Multiple

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing




Response #33: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Very Frequently
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
100,000s X 100,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP:
b. Distributed shared-memory:
c. Distributed memory: More than 1,000

6. Which architectures do you use or intend to use in the next three years?
Distributed-memory

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
BLAS of course

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: Not 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?
Symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
Vendor supplied typically factor 2 faster.

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 77, Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Rarely

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call ScaLAPACK routines?
Fortran 90/95

15. How frequently do you refer to the ScaLAPACK Users Guide?
Rarely

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Linux, Solaris

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing




Response #34: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision:
b. Double precision: Very Frequently
c. More than double precision:
d. Complex single precision:
e. Complex double precision:
f. Complex, more than double precision:

3. What dense matrix sizes are most important or time-consuming for your application?
1,000,000 or more

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 100
b. Distributed shared-memory: More than 100
c. Distributed memory: More than 100

6. Which architectures do you use or intend to use in the next three years?
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: Very useful
c. Automatic memory allocation of the work space: Very useful
d. More complicated matrix data structures:

9. Do your applications solve linear algebra problems of the type?
General linear systems

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
No

2. If you do not use LAPACK, why?
Use another pkg

6. Do your applications make direct LAPACK calls?
No

7. Do your applications use libraries which depend on LAPACK?
No

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

ScaLAPACK Usage

2. If you do not use ScaLAPACK, why?
Use another pkg

6. Do your applications make direct ScaLAPACK calls?
No

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Solaris

2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
Concurrent programs

3a. Please specify any particular libraries of frameworks used?
I need PVM.


Additional Information

6.Additional Comments/Suggestions
Could you please install PVM? I really need that for my research. Thank you very much!



Response #35: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
No

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Rarely
b. Double precision: Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Sometimes
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
10s X 10s

4. Does your application come close to, or run out of memory on important problems?
No

5. Number of processors used for your application:

a. SMP: Less than 10
b. Distributed shared-memory: Less than 10
c. Distributed memory: More than 1,000

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread, Distributed-memory

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
PLAPACK

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: Very useful
c. Automatic memory allocation of the work space: Very useful
d. More complicated matrix data structures: Very useful

9. Do your applications solve linear algebra problems of the type?
Linear positive definite systems, General linear systems, Symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
No

2. If you do not use LAPACK, why?
Use another pkg

3. If using another package, which one(s)?
PLAPACK

6. Do your applications make direct LAPACK calls?
No

7. Do your applications use libraries which depend on LAPACK?
No

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
Yes

15. How frequently do you refer to the LAPACK Users Guide?
Never

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

2. If you do not use ScaLAPACK, why?
Use another pkg

3. If using another package, which one(s)?
PLAPACK

6. Do your applications make direct ScaLAPACK calls?
No

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
Yes

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, HP/UX, IRIX, Linux, Solaris, Windows (cygwin), Windows (other)

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing




Response #36: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Rarely
b. Double precision: Very Frequently
c. More than double precision: Frequently
d. Complex single precision: Rarely
e. Complex double precision: Sometimes
f. Complex, more than double precision: Sometimes

3. What dense matrix sizes are most important or time-consuming for your application?
100s X 100s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: Less than 10
b. Distributed shared-memory:
c. Distributed memory:

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat useful
b. Using optional arguments in the language interface: Very 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?
SVDs

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
Yes

9. If you answered yes above, which higher-level interfaces do you use?
SciPy

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, Fortran 77, Python

12. Please describe any tools or helper functions that you frequently implement to assist your applications in using LAPACK?
I mostly use lapack via Scipy, and I find the wrapped interface satisfactory. I'm sure it could be improved, but I have never felt that part to be a development bottleneck for me.

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

2. If you do not use ScaLAPACK, why?
Not solving linear algebra

15. How frequently do you refer to the ScaLAPACK Users Guide?

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Linux


Additional Information




Response #37: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

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: Never
d. Complex single precision: Sometimes
e. Complex double precision: Very Frequently
f. Complex, more than double precision: Never

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?
No

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 10
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
no

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat 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: Not useful

9. Do your applications solve linear algebra problems of the type?
Linear positive definite systems, General linear systems, Symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Other

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
No

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C

12. Please describe any tools or helper functions that you frequently implement to assist your applications in using LAPACK?
wraper routines that dynamically allocate the work spaces

13. How could the LAPACK interface be improved to feel more natural to your application and implementation language?
- removing the work spaces - call-by-value interfaces for C

15. How frequently do you refer to the LAPACK Users Guide?
Frequently

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
C

15. How frequently do you refer to the ScaLAPACK Users Guide?
Frequently

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, Linux

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

5.Description of related activities
Reseach on Computational Condensed Matter Physics.



Response #38: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Rarely
b. Double precision: Very Frequently
c. More than double precision: Rarely
d. Complex single precision: Rarely
e. Complex double precision: Sometimes
f. Complex, more than double precision: Rarely

3. What dense matrix sizes are most important or time-consuming for your application?
10,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

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 1,000

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread, Vector-computers, Distributed-shared-memory, Distributed-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
linpack

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: Not useful
c. Automatic memory allocation of the work space: Not useful
d. More complicated matrix data structures: Very useful

9. Do your applications solve linear algebra problems of the type?
Linear positive definite systems, Banded linear systems, General linear systems, Generalized eigenvalue, Least-square problems, SVDs

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
well.

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, C++, Fortran 77, Fortran 90/95, tcl

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

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, IRIX, Linux, Solaris, Unicos, Windows (other)

2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
Multiple


Additional Information

6.Additional Comments/Suggestions
general question 8 is a bit unclearly stated.
7. Use DOE-lab resourcesYes



Response #39: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Very Frequently
b. Double precision: Very Frequently
c. More than double precision: Frequently
d. Complex single precision: Never
e. Complex double precision: Never
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
100,000s X 100,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 10
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread, Distributed-memory, Hybrid-shared

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not useful
b. Using optional arguments in the language interface: Somewhat useful
c. Automatic memory allocation of the work space: Somewhat useful
d. More complicated matrix data structures: Very useful

9. Do your applications solve linear algebra problems of the type?
Linear positive definite systems, General linear systems, Generalized eigenvalue, Symmetric eigenvalue, Non-symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, C++, Fortran 77

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, Linux

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing




Response #40: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Frequently
b. Double precision: Frequently
c. More than double precision:
d. Complex single precision:
e. Complex double precision: Frequently
f. Complex, more than double precision:

3. What dense matrix sizes are most important or time-consuming for your application?
100,000s X 100,000s

4. Does your application come close to, or run out of memory on important problems?
No

5. Number of processors used for your application:

a. SMP:
b. Distributed shared-memory:
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Distributed-memory

9. Do your applications solve linear algebra problems of the type?
Generalized eigenvalue, Non-symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
Vendor faster but Vendor is incomplete or undefined API (Lapack 1? 2? 3?)

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
Yes

9. If you answered yes above, which higher-level interfaces do you use?
R

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, C++, Fortran 77, Fortran 90/95

14. If you have installed LAPACK yourself, how could the installation process be improved?
Place in autoconfig construct as a package in itself Place in autoconfig construct with scalapack, lapack, blas ./configure --with[out]-(scalapack,lapack,blas) --with-blas=ibm_essl

15. How frequently do you refer to the LAPACK Users Guide?
Rarely

ScaLAPACK Usage

15. How frequently do you refer to the ScaLAPACK Users Guide?

Targeted Environment Specifics


Additional Information

7. Use DOE-lab resourcesYes



Response #41: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Frequently
c. More than double precision: Very Frequently
d. Complex single precision:
e. Complex double precision:
f. Complex, more than double precision:

3. What dense matrix sizes are most important or time-consuming for your application?
10,000s X 10,000s

4. Does your application come close to, or run out of memory on important problems?
No

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 10
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Distributed-memory, Hybrid-shared

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not useful
b. Using optional arguments in the language interface: Not useful
c. Automatic memory allocation of the work space: Not useful
d. More complicated matrix data structures: Not useful

9. Do your applications solve linear algebra problems of the type?
Linear positive definite systems, Banded linear systems, General linear systems

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

11. From which languages do you call LAPACK routines?
Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Rarely

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

2. If you do not use ScaLAPACK, why?
Use another pkg

3. If using another package, which one(s)?
SuperLU

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, Linux

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

7. Use DOE-lab resourcesYes



Response #42: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision:
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
100s X 100s

4. Does your application come close to, or run out of memory on important problems?
No

5. Number of processors used for your application:

a. SMP: More than 100
b. Distributed shared-memory: Less than 10
c. Distributed memory: Less than 10

6. Which architectures do you use or intend to use in the next three years?
Sequential, Symmetric-multi-procs

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not 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: Not useful

9. Do your applications solve linear algebra problems of the type?
Linear positive definite systems

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

10. Is the LAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call LAPACK routines?
C++

13. How could the LAPACK interface be improved to feel more natural to your application and implementation language?
Make a C++ framework for it so I don't have to write my own.

15. How frequently do you refer to the LAPACK Users Guide?
Frequently

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

15. How frequently do you refer to the ScaLAPACK Users Guide?

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
HP/UX, Windows (other)


Additional Information




Response #43: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Rarely
d. Complex single precision: Never
e. Complex double precision: Never
f. Complex, more than double precision: Never

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?
No

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory:
c. Distributed memory:

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread, Vector-computers

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not useful
b. Using optional arguments in the language interface: Not useful
c. Automatic memory allocation of the work space: Somewhat useful
d. More complicated matrix data structures: Not useful

9. Do your applications solve linear algebra problems of the type?
General linear systems

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
On Opterons with Portland group compilers under Linux, Netlib version is at least order of magnitude worse. It's useful for testing on a PC though.

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
No

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 90/95

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Linux, Unicos, Windows (other)

2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
Concurrent programs

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing




Response #44: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Rarely
b. Double precision: Rarely
c. More than double precision: Rarely
d. Complex single precision: Rarely
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?
100,000s X 100,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 100
c. Distributed memory: More than 1,000

6. Which architectures do you use or intend to use in the next three years?
Multi-core-thread, Vector-computers, Distributed-shared-memory, Distributed-memory, Hybrid-shared

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat useful
b. Using optional arguments in the language interface: Not useful
c. Automatic memory allocation of the work space: Very useful
d. More complicated matrix data structures: Not useful

9. Do your applications solve linear algebra problems of the type?
General linear systems

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
Presume vendor version provides better performance.

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

11. From which languages do you call LAPACK routines?
Fortran 77

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
Fortran 77

15. How frequently do you refer to the ScaLAPACK Users Guide?
Sometimes

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, Linux, Unicos, xt3 catamount

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing

3a. Please specify any particular libraries of frameworks used?
Direct calls to the BLACS


Additional Information

7. Use DOE-lab resourcesYes



Response #45: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
No

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: Never
d. Complex single precision: Rarely
e. Complex double precision: Frequently
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
10s X 10s

4. Does your application come close to, or run out of memory on important problems?
Yes

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 100

6. Which architectures do you use or intend to use in the next three years?
Multi-core-thread, 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: Somewhat 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: Very useful

9. Do your applications solve linear algebra problems of the type?
Linear positive definite systems, Banded linear systems, General linear systems

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C++, Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

2. If you do not use ScaLAPACK, why?
Not solving linear algebra

15. How frequently do you refer to the ScaLAPACK Users Guide?

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Linux, Unicos/mp

2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
Multiple




Response #46: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Rarely
f. Complex, more than double precision: Never

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?
Yes

5. Number of processors used for your application:

a. SMP: Less than 10
b. Distributed shared-memory: Less than 10
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Sequential, Distributed-memory

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
PLAPACK

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not useful
b. Using optional arguments in the language interface: Somewhat useful
c. Automatic memory allocation of the work space: Not useful
d. More complicated matrix data structures: Very useful

9. Do your applications solve linear algebra problems of the type?
Linear positive definite systems, Symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
I use MKL on Windows machines and ATLAS on Linux machines. Both perform better than reference implementations.

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
Yes

9. If you answered yes above, which higher-level interfaces do you use?
Matlab, PETSc

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, C++, Matlab

12. Please describe any tools or helper functions that you frequently implement to assist your applications in using LAPACK?
I typically write "wrapper functions" that call LAPACK while hiding many of its arguments from the nonlinear solver or optimization solver. When using C++, these functions inherit the interface from an abstract matrix class.

13. How could the LAPACK interface be improved to feel more natural to your application and implementation language?
Some examples that call LAPACK from C would be helpful.

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

16. What information in the LAPACK guide is hard to find or is missing, if any?
Performance information is difficult to find. For instance, it took me a while to confirm my observation that the Cholesky factorization using packed symmetric format were much slower than Cholesky factorizations using full dense format.

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

3. If using another package, which one(s)?
PLAPACK

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
Yes

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
C

12. Please describe any tools or helper functions that you frequently implement to assist your applications in using ScaLAPACK?
I typically write "wrapper functions" that call LAPACK while hiding many of its arguments from the nonlinear solver or optimization solver.

13. How could the ScaLAPACK interface be improved to feel more natural to your application and implementation language?
Some examples that call ScaLAPACK from C would be helpful.

15. How frequently do you refer to the ScaLAPACK Users Guide?
Rarely

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Linux, Windows (cygwin), Windows (other)

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing

3a. Please specify any particular libraries of frameworks used?
MPI


Additional Information

5.Description of related activities
Numical optimization solvers that I develop and distribute target applications nonlinear and semidefinite programming. I use LAPACK to factor dense matrices that are usually the Schur complements of much larger indefinite matrices. Parallel versions of these solvers use ScaLAPACK. Users of our software must also link to these packages.
6.Additional Comments/Suggestions
The most frequent difficulty that my users encounter while linking their application to my optimization solvers and LAPACK involves language interoperability. Despite our best efforts to help them configure things properly, calling the Fortran routines from C or C++ continues to frustrate users who are uninterested in these subtleties of computer science. I would also like to see the BLAS1 include y = alpha y + x, w = alpha x + beta y, and BLAS2 include alphs = x' A x where x is a column vector and A is a symmetric matrix.
7. Use DOE-lab resourcesYes



Response #47: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Sometimes
d. Complex single precision: Never
e. Complex double precision: Very Frequently
f. Complex, more than double precision: Sometimes

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?
Yes

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 10
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Vector-computers, Distributed-shared-memory, Hybrid-shared

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat useful
b. Using optional arguments in the language interface: Very 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, Generalized eigenvalue, Symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
No

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, C++, Fortran 90/95

13. How could the LAPACK interface be improved to feel more natural to your application and implementation language?
I hate to call the routine sometimes with underscore on some systems like linux.

14. If you have installed LAPACK yourself, how could the installation process be improved?
If you can have binary version for all the systems, it will be great.

15. How frequently do you refer to the LAPACK Users Guide?
Frequently

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
C

15. How frequently do you refer to the ScaLAPACK Users Guide?
Frequently

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, IRIX, Linux

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information




Response #48: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

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: Never
d. Complex single precision: Sometimes
e. Complex double precision: Very Frequently
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
100,000s X 100,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 1,000
b. Distributed shared-memory: More than 1,000
c. Distributed memory: More than 1,000

6. Which architectures do you use or intend to use in the next three years?
Vector-computers, Distributed-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
no

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: Not useful
c. Automatic memory allocation of the work space: Very useful
d. More complicated matrix data structures: Not useful

9. Do your applications solve linear algebra problems of the type?
General linear systems

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 77, Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
Yes

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
Fortran 77

15. How frequently do you refer to the ScaLAPACK Users Guide?
Sometimes

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, Linux

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

7. Use DOE-lab resourcesYes



Response #49: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision:
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision:
f. Complex, more than double precision: Never

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?
No

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 10
c. Distributed memory:

6. Which architectures do you use or intend to use in the next three years?
Sequential, Vector-computers, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
no

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not useful
b. Using optional arguments in the language interface: Not useful
c. Automatic memory allocation of the work space: Somewhat useful
d. More complicated matrix data structures: Not useful

9. Do your applications solve linear algebra problems of the type?
General linear systems, Non-symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
No

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 90/95

14. If you have installed LAPACK yourself, how could the installation process be improved?
not much, current method is fairly straightforward

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

2. If you do not use ScaLAPACK, why?
Not solving linear algebra

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, Linux, Mac OSX

2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
Components

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

5.Description of related activities
Computational nuclear theory (static Hartree-Fock, time-dependent Hartree-Fock, Hartree-Fock-Bogoliubov, Dirac equation, ...)
6.Additional Comments/Suggestions
First of all, many thanks for developing LAPACK. It is very important to our group (computational nuclear theory). It would be nice to get a genuine Fortran 95 /2003 LAPACK library WITHOUT interface calls to Fortran 77 version of LAPACK.



Response #50: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Rarely
d. Complex single precision: Never
e. Complex double precision: Very Frequently
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
10,000s X 10,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 10
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Multi-core-thread, Distributed-memory, Hybrid-shared

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat useful
b. Using optional arguments in the language interface: Very useful
c. Automatic memory allocation of the work space: Very useful
d. More complicated matrix data structures: Not useful

9. Do your applications solve linear algebra problems of the type?
General linear systems, Generalized eigenvalue, Symmetric eigenvalue, Non-symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, Fortran 77, Fortran 90/95

13. How could the LAPACK interface be improved to feel more natural to your application and implementation language?
Should have automatic workspace allocation, and would be very useful to have a "higher level" interface that, given the sort of problem to solve (e. g. symmetric eigenvalue problem) detects the type of data and the structure of the matrix, so that the user does not have to rewrite large portions of code while trying different algorithms and modifiying existing code (e.g. when the underlying data changes from real to complex).

15. How frequently do you refer to the LAPACK Users Guide?
Frequently

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

2. If you do not use ScaLAPACK, why?
Cost of learning

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, Linux, Tru64, Windows (cygwin)

2a. Please specify any particular libraries of frameworks used?
openmp

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information




Response #51: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Rarely
b. Double precision: Very Frequently
c. More than double precision: Rarely
d. Complex single precision: Rarely
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?
10,000s X 10,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 100
b. Distributed shared-memory: More than 100
c. Distributed memory: More than 100

6. Which architectures do you use or intend to use in the next three years?
Symmetric-multi-procs, Distributed-shared-memory, Hybrid-shared

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat useful
b. Using optional arguments in the language interface: Somewhat useful
c. Automatic memory allocation of the work space: Not useful
d. More complicated matrix data structures: Very useful

9. Do your applications solve linear algebra problems of the type?
Linear positive definite systems, General linear systems, Generalized eigenvalue, Symmetric eigenvalue, Least-square problems

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
No

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call LAPACK routines?
Fortran 77, Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Very Frequently

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call ScaLAPACK routines?
Fortran 77

15. How frequently do you refer to the ScaLAPACK Users Guide?
Very Frequently

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, HP/UX, Linux, Solaris, Tru64

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information




Response #52: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Frequently
b. Double precision: Very Frequently
c. More than double precision: Frequently
d. Complex single precision: Sometimes
e. Complex double precision:
f. Complex, more than double precision: Frequently

3. What dense matrix sizes are most important or time-consuming for your application?
100,000s X 100,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 1,000
c. Distributed memory:

6. Which architectures do you use or intend to use in the next three years?
Multi-core-thread, Distributed-shared-memory

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
Paradiso

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?
Banded linear systems, General linear systems, Least-square problems

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
Yes

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C++, Fortran 77, Fortran 90/95

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

11. From which languages do you call ScaLAPACK routines?
C

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Linux

2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
Multiple

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information




Response #53: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Rarely
d. Complex single precision: Never
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?
10,000s X 10,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: Less than 10
b. Distributed shared-memory: More than 10
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Sequential, Distributed-memory, Hybrid-shared

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not useful
b. Using optional arguments in the language interface: Somewhat useful
c. Automatic memory allocation of the work space: Somewhat useful
d. More complicated matrix data structures: Somewhat useful

9. Do your applications solve linear algebra problems of the type?
Linear positive definite systems, Symmetric eigenvalue, Non-symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call ScaLAPACK routines?
Fortran 77

15. How frequently do you refer to the ScaLAPACK Users Guide?
Rarely

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, Linux

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing




Response #54: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Sometimes
b. Double precision: Frequently
c. More than double precision: Never
d. Complex single precision: Sometimes
e. Complex double precision: Frequently
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
1,000s X 10s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 10
c. Distributed memory: More than 1,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-memory

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
some OpenMP blas

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat 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, Generalized eigenvalue, Symmetric eigenvalue, SVDs

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
the intel MKL libaries are much easier to use than ATLAS and LAPACK. despite what others say, I do not find ATLAS to be much faster than MKL blas (perhaps the difference is not suffient to motivate me to change).

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
No

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call LAPACK routines?
C++, Fortran 90/95

13. How could the LAPACK interface be improved to feel more natural to your application and implementation language?
automatic interface.

14. If you have installed LAPACK yourself, how could the installation process be improved?
I have not done this recently. Several years ago, I had difficutly using the compiler that came with my linux distribution (I think either atlas or lapack required an older version).

15. How frequently do you refer to the LAPACK Users Guide?
Rarely

16. What information in the LAPACK guide is hard to find or is missing, if any?
Information is not missing; however, it can be difficult to find on netlib, and more examples are needed. Some time the documentation is difficult to understand (you can't assume that even the most hard core of us know the nomenclature).

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call ScaLAPACK routines?
Fortran 90/95

13. How could the ScaLAPACK interface be improved to feel more natural to your application and implementation language?
The required data layout was quite diffcult to implement.

15. How frequently do you refer to the ScaLAPACK Users Guide?
Rarely

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Linux, Tru64, Unicos

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

6.Additional Comments/Suggestions
Thank you for your work on: lapack atlas scalapack pblas...



Response #55: 2005-08-09

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Frequently
b. Double precision: Very Frequently
c. More than double precision: Rarely
d. Complex single precision: Never
e. Complex double precision: Never
f. Complex, more than double precision: Never

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?
Yes

5. Number of processors used for your application:

a. SMP: Less than 10
b. Distributed shared-memory: Less than 10
c. Distributed memory: Less than 10

6. Which architectures do you use or intend to use in the next three years?
Sequential, Distributed-memory

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
no

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, Non-symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

2. If you do not use LAPACK, why?
Use another pkg

3. If using another package, which one(s)?
matlab

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Other

6. Do your applications make direct LAPACK calls?
No

7. Do your applications use libraries which depend on LAPACK?
No

8. Do your applications use a higher-level interface to LAPACK?
Yes

9. If you answered yes above, which higher-level interfaces do you use?
matlab

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Rarely

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

2. If you do not use ScaLAPACK, why?
Use another pkg

6. Do your applications make direct ScaLAPACK calls?
No

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

15. How frequently do you refer to the ScaLAPACK Users Guide?
Never

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Solaris, Windows (cygwin)




Response #56: 2005-08-10

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Never
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
10,000s

4. Does your application come close to, or run out of memory on important problems?
No

5. Number of processors used for your application:

a. SMP: Less than 10
b. Distributed shared-memory: Less than 10
c. Distributed memory: Less than 10

6. Which architectures do you use or intend to use in the next three years?
Multi-core-thread, Vector-computers, Hybrid-shared

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat 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, General linear systems, Symmetric eigenvalue, Least-square problems

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 77, Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Never

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

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, HP/UX, Linux, OS X

2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
Multiple

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing




Response #57: 2005-08-10

General

1. Is dense linear algebra a performance bottleneck in your applications?
No

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: Frequently
d. Complex single precision: Sometimes
e. Complex double precision: Sometimes
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?
Yes

5. Number of processors used for your application:

a. SMP: Less than 10
b. Distributed shared-memory: Less than 10
c. Distributed memory: More than 100

6. Which architectures do you use or intend to use in the next three years?
Multi-core-thread, Distributed-memory

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat useful
b. Using optional arguments in the language interface: Not useful
c. Automatic memory allocation of the work space: Somewhat 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, Least-square problems

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
Vendor's usually does a better job of using cache

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, C++

15. How frequently do you refer to the LAPACK Users Guide?
Frequently

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

15. How frequently do you refer to the ScaLAPACK Users Guide?

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
HP/UX, Linux

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information




Response #58: 2005-08-10

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Rarely
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Never
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
10s X 10s

4. Does your application come close to, or run out of memory on important problems?
No

5. Number of processors used for your application:

a. SMP: Less than 10
b. Distributed shared-memory: Less than 10
c. Distributed memory: Less than 10

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread, Distributed-shared-memory, Widely-distributed

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not useful
b. Using optional arguments in the language interface: Somewhat useful
c. Automatic memory allocation of the work space: Not useful
d. More complicated matrix data structures: Somewhat useful

9. Do your applications solve linear algebra problems of the type?
Symmetric eigenvalue, Least-square problems, SVDs

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
No

8. Do your applications use a higher-level interface to LAPACK?
Yes

9. If you answered yes above, which higher-level interfaces do you use?
numarray

10. Is the LAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call LAPACK routines?
C, Python

12. Please describe any tools or helper functions that you frequently implement to assist your applications in using LAPACK?
In my C codes, I always have to make a wrapper to hold dummy integers, etc. for the options I don't use.

13. How could the LAPACK interface be improved to feel more natural to your application and implementation language?
It would be nice to have multiple c wrappers for LAPACK that can customize calls to many-option functions.

14. If you have installed LAPACK yourself, how could the installation process be improved?
Does it use GNU autoconf and automake?

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

16. What information in the LAPACK guide is hard to find or is missing, if any?
It is difficult to find the names of the high-level functions.

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

2. If you do not use ScaLAPACK, why?
Not solving linear algebra

15. How frequently do you refer to the ScaLAPACK Users Guide?

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
BSD, Linux, Windows (cygwin)

2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
Concurrent programs

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

5.Description of related activities
function parameter fitting principle component analysis structural superposition
6.Additional Comments/Suggestions
thank you



Response #59: 2005-08-10

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Rarely
d. Complex single precision: Never
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,000,000 or more

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 100
b. Distributed shared-memory: More than 100
c. Distributed memory: More than 100

6. Which architectures do you use or intend to use in the next three years?
Multi-core-thread, Distributed-shared-memory, Distributed-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
ESSL, NAG

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat 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: Very useful

9. Do your applications solve linear algebra problems of the type?
General linear systems, Symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
Prefer vendor's version.

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, C++

13. How could the LAPACK interface be improved to feel more natural to your application and implementation language?
Definitely oppose to any f90 interface. f77/C as is makes it very easy to use with any applications.

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
C

13. How could the ScaLAPACK interface be improved to feel more natural to your application and implementation language?
The same: f77/C interfaces are sufficient.

15. How frequently do you refer to the ScaLAPACK Users Guide?
Sometimes

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, Linux, Windows (cygwin), MAC OS X

2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
Multiple

2a. Please specify any particular libraries of frameworks used?
OpenMP

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing

3a. Please specify any particular libraries of frameworks used?
MPI


Additional Information

5.Description of related activities
Condensed matter theory; scientific code developments
7. Use DOE-lab resourcesYes



Response #60: 2005-08-10

General

1. Is dense linear algebra a performance bottleneck in your applications?
No

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: Never
e. Complex double precision: Never
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
1,000s X 100s

4. Does your application come close to, or run out of memory on important problems?
No

5. Number of processors used for your application:

a. SMP: Less than 10
b. Distributed shared-memory: Less than 10
c. Distributed memory: More than 100

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread, Distributed-shared-memory, Distributed-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
No

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not useful
b. Using optional arguments in the language interface: Not useful
c. Automatic memory allocation of the work space: Somewhat useful
d. More complicated matrix data structures: Not useful

9. Do your applications solve linear algebra problems of the type?
Linear positive definite systems, Least-square problems, SVDs

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
No

8. Do your applications use a higher-level interface to LAPACK?
Yes

9. If you answered yes above, which higher-level interfaces do you use?
Some Matlab routines

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, Fortran 77, Matlab

15. How frequently do you refer to the LAPACK Users Guide?
Rarely

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

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, IRIX, Linux

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing




Response #61: 2005-08-10

General

1. Is dense linear algebra a performance bottleneck in your applications?
No

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: Never
d. Complex single precision: Sometimes
e. Complex double precision: Very Frequently
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
100s

4. Does your application come close to, or run out of memory on important problems?
No

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 100

6. Which architectures do you use or intend to use in the next three years?
Sequential, Vector-computers, Distributed-shared-memory, Distributed-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
no

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: Very 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, Symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
No

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call LAPACK routines?
Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call ScaLAPACK routines?
Fortran 90/95

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, IRIX

2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
Multiple

2a. Please specify any particular libraries of frameworks used?
openmp

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing




Response #62: 2005-08-10

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Never
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
10,000s X 10,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: Less than 10
b. Distributed shared-memory: More than 10
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread, Vector-computers, Distributed-memory, Hybrid-shared

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat useful
b. Using optional arguments in the language interface: Somewhat useful
c. Automatic memory allocation of the work space: Somewhat useful
d. More complicated matrix data structures: Very useful

9. Do your applications solve linear algebra problems of the type?
General linear systems, Symmetric eigenvalue, Non-symmetric eigenvalue, SVDs

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

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?
Compact wrappers

13. How could the LAPACK interface be improved to feel more natural to your application and implementation language?
Simple consistent interface such as outputs first, followed by inputs.

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
C

15. How frequently do you refer to the ScaLAPACK Users Guide?
Sometimes

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, BSD, Linux, Windows (cygwin), Windows (other)

2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
Platform threading

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

5.Description of related activities
quantum chemistry code development (q-chem program)



Response #63: 2005-08-11

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

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: Sometimes
d. Complex single precision: Sometimes
e. Complex double precision: Very Frequently
f. Complex, more than double precision: Sometimes

3. What dense matrix sizes are most important or time-consuming for your application?
10,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: Less than 10
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Distributed-memory

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat useful
b. Using optional arguments in the language interface: Not useful
c. Automatic memory allocation of the work space: Very useful
d. More complicated matrix data structures: Very useful

9. Do your applications solve linear algebra problems of the type?
Generalized eigenvalue, Symmetric eigenvalue, Least-square problems

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
Yes

11. From which languages do you call LAPACK routines?
C++, Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

2. If you do not use ScaLAPACK, why?
Cost of learning

15. How frequently do you refer to the ScaLAPACK Users Guide?

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Linux

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing




Response #64: 2005-08-11

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Frequently
b. Double precision: Frequently
c. More than double precision: Rarely
d. Complex single precision: Frequently
e. Complex double precision: Sometimes
f. Complex, more than double precision: Rarely

3. What dense matrix sizes are most important or time-consuming for your application?
1,000,000 or more

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 100
b. Distributed shared-memory: More than 100
c. Distributed memory: More than 100

6. Which architectures do you use or intend to use in the next three years?
Vector-computers, Distributed-shared-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
Yes

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: Very useful
c. Automatic memory allocation of the work space:
d. More complicated matrix data structures: Somewhat useful

9. Do your applications solve linear algebra problems of the type?
Linear positive definite systems, General linear systems, Generalized eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

16. What information in the LAPACK guide is hard to find or is missing, if any?
I would like to see a list of NAG routines which have corresponding LAPACK equivalents.

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
Yes

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
C

15. How frequently do you refer to the ScaLAPACK Users Guide?
Frequently

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
Linux, Unicos

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

7. Use DOE-lab resourcesYes



Response #65: 2005-08-11

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Rarely
d. Complex single precision: Never
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?
10,000s X 100,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: Less than 10
b. Distributed shared-memory: Less than 10
c. Distributed memory: Less than 10

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread, Distributed-shared-memory, Distributed-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
ESSL

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat 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: Very useful

9. Do your applications solve linear algebra problems of the type?
Linear positive definite systems, Banded linear systems, General linear systems

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, C++, Fortran 90/95

12. Please describe any tools or helper functions that you frequently implement to assist your applications in using LAPACK?
sparse routines and search routines have been written.

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
No

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, Linux


Additional Information

6.Additional Comments/Suggestions
Lapack needs sparse linear algebra routines and search/sort routines.



Response #66: 2005-08-11

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Very Frequently
f. Complex, more than double precision: Never

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?
Yes

6. Which architectures do you use or intend to use in the next three years?
Sequential, Symmetric-multi-procs, Distributed-memory, Hybrid-shared

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not useful
b. Using optional arguments in the language interface: Not useful
c. Automatic memory allocation of the work space: Very useful
d. More complicated matrix data structures: Very useful

9. Do your applications solve linear algebra problems of the type?
Linear positive definite systems, Generalized eigenvalue, Least-square problems

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
I have run them on different architectures and so have not had the opportunity to do a very direct comparison.

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
No

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
Fortran 90/95

12. Please describe any tools or helper functions that you frequently implement to assist your applications in using ScaLAPACK?
None

15. How frequently do you refer to the ScaLAPACK Users Guide?
Sometimes

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
HP/UX, Linux, Tru64

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing

3a. Please specify any particular libraries of frameworks used?
HDF5




Response #67: 2005-08-11

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Frequently
b. Double precision: Frequently
c. More than double precision: Frequently
d. Complex single precision: Frequently
e. Complex double precision: Very Frequently
f. Complex, more than double precision: Frequently

3. What dense matrix sizes are most important or time-consuming for your application?
10,000s X 10,000s

4. Does your application come close to, or run out of memory on important problems?
No

5. Number of processors used for your application:

a. SMP:
b. Distributed shared-memory:
c. Distributed memory: More than 1,000

6. Which architectures do you use or intend to use in the next three years?
Vector-computers, Distributed-shared-memory, Distributed-memory, Hybrid-shared

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Somewhat useful
b. Using optional arguments in the language interface: Somewhat useful
c. Automatic memory allocation of the work space: Somewhat useful
d. More complicated matrix data structures: Somewhat useful

9. Do your applications solve linear algebra problems of the type?
General linear systems

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
No

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
C

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, IRIX, Linux, Tru64, Unicos

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing




Response #68: 2005-08-11

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Never
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
100,000s X 100,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 100
c. Distributed memory: More than 1,000

6. Which architectures do you use or intend to use in the next three years?
Multi-core-thread, Vector-computers, Distributed-memory, Hybrid-shared, Widely-distributed

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not useful
b. Using optional arguments in the language interface: Not useful
c. Automatic memory allocation of the work space: Not useful
d. More complicated matrix data structures: Very useful

9. Do your applications solve linear algebra problems of the type?
Symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, Fortran 77, Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
Yes

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, HP/UX, Linux, Tru64, Unicos




Response #69: 2005-08-11

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Sometimes
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Very Frequently
f. Complex, more than double precision: Never

3. What dense matrix sizes are most important or time-consuming for your application?
1,000,000 or more X 1,000,000 or more

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP:
b. Distributed shared-memory: More than 10
c. Distributed memory:

6. Which architectures do you use or intend to use in the next three years?
Distributed-shared-memory

9. Do your applications solve linear algebra problems of the type?
General linear systems, Generalized eigenvalue, Non-symmetric eigenvalue, Least-square problems, SVDs

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct LAPACK calls?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C++

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct ScaLAPACK calls?
Yes

8. Do your applications use a higher-level interface to ScaLAPACK?
No

11. From which languages do you call ScaLAPACK routines?
C++

15. How frequently do you refer to the ScaLAPACK Users Guide?

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
IRIX, Linux, Windows (cygwin), Windows (other)

2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
Platform threading


Additional Information




Response #70: 2005-08-11

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Never
b. Double precision: Very Frequently
c. More than double precision: Never
d. Complex single precision: Never
e. Complex double precision: Never
f. Complex, more than double precision: Never

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?
No

5. Number of processors used for your application:

a. SMP:
b. Distributed shared-memory: More than 10
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Distributed-shared-memory, Distributed-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
No

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not useful
b. Using optional arguments in the language interface: Somewhat useful
c. Automatic memory allocation of the work space: Not useful
d. More complicated matrix data structures: Somewhat useful

9. Do your applications solve linear algebra problems of the type?
Linear positive definite systems, Symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
No

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
Fortran 90/95

12. Please describe any tools or helper functions that you frequently implement to assist your applications in using ScaLAPACK?
MPI

13. How could the ScaLAPACK interface be improved to feel more natural to your application and implementation language?
1) There should be a functional call to generate a global matrix descriptor using either a BLACS context or an MPI communicator. 2) Another function should generate a BLACS gridmap from an MPI communicator and vice versa. 3) Maybe the BLACS context should be taken out of the global matrix descriptor

14. If you have installed ScaLAPACK yourself, how could the installation process be improved?
The distribution should contain BLACS.

15. How frequently do you refer to the ScaLAPACK Users Guide?
Frequently

16. What information in the ScaLAPACK guide is hard to find or is missing, if any?
How to simultaneously call different Scalapack functions using disjoint packs of processors.

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, IRIX, Linux, Tru64

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information




Response #71: 2005-08-11

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Rarely
b. Double precision: Very Frequently
c. More than double precision: Rarely
d. Complex single precision: Rarely
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?
10,000s X 10,000s

4. Does your application come close to, or run out of memory on important problems?
Yes

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 100
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Multi-core-thread, Vector-computers, Distributed-memory, Hybrid-shared

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
ESSL

8. Please rank how the following features would be useful to your current or planned applications?

a. User defined matrix types: Not useful
b. Using optional arguments in the language interface: Not 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?
Symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

3. If using another package, which one(s)?
ESSL

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor, Netlib

5. If you have used both a vendors version of LAPACK and Netlibs, how do the two versions compare?
Never compared.

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
Yes

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
Fortran 90/95

15. How frequently do you refer to the LAPACK Users Guide?
Sometimes

ScaLAPACK Usage

1. Do you use ScaLAPACK (or a vendor version of ScaLAPACK )?
Yes

4. If you use ScaLAPACK, do you use a vendors version or one obtained directly from Netlib?
Vendor

6. Do your applications make direct ScaLAPACK calls?
Yes

7. Do your applications use libraries which depend on ScaLAPACK?
Yes

8. Do your applications use a higher-level interface to ScaLAPACK?
No

10. Is the ScaLAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call ScaLAPACK routines?
Fortran 90/95

12. Please describe any tools or helper functions that you frequently implement to assist your applications in using ScaLAPACK?
We often diagonize matrices about the size of 1000~10000, or even larger. Storage of the matrices (and the eigenvectors after the diagonization) are usually splitted by stripes of the matrices. Before calling ScaLAPACK we have to transform the stripe distribution to the block cyclic distribution, and back transform from BCD to the stripe distribution after diagonization. Is it possible for ScaLAPACK to make these processes automatic?

15. How frequently do you refer to the ScaLAPACK Users Guide?
Sometimes

Targeted Environment Specifics

1. Under which operating system environments do your applications run?
AIX, IRIX, Linux, Solaris, Tru64, Unicos, Windows (other)

2. If your applications run in a shared-memory environment, which styles of parallelism do they employ?
Platform threading

3. If your applications run in a distributed-memory environment, which styles of parallelism do they employ?
Message passing


Additional Information

5.Description of related activities
We are an Electronic Structure Physics group of Northwestern University engaging in the numerical calculations and simulations of materials.



Response #72: 2005-08-11

General

1. Is dense linear algebra a performance bottleneck in your applications?
No

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Rarely
b. Double precision: Sometimes
c. More than double precision: Very Frequently
d. Complex single precision: Rarely
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?
100s X 100s

4. Does your application come close to, or run out of memory on important problems?
No

5. Number of processors used for your application:

a. SMP: Less than 10
b. Distributed shared-memory: Less than 10
c. Distributed memory: Less than 10

6. Which architectures do you use or intend to use in the next three years?
Sequential, Multi-core-thread

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
no

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: Very useful

9. Do your applications solve linear algebra problems of the type?
General linear systems, Symmetric eigenvalue

LAPACK Usage

1. Do you use LAPACK (or a vendor version of LAPACK )?
Yes

4. If you use LAPACK, do you use a vendors version or one obtained directly from Netlib?
Netlib

6. Do your applications make direct LAPACK calls?
Yes

7. Do your applications use libraries which depend on LAPACK?
No

8. Do your applications use a higher-level interface to LAPACK?
No

10. Is the LAPACK procedure interface a barrier to more extensive use?
No

11. From which languages do you call LAPACK routines?
C, C++

13. How could the LAPACK interface be improved to feel more natural to your application and implementation language?
give full C or C++ version of lapack

14. If you have installed LAPACK yourself, how could the installation process be improved?
rpm, if possible

15. How frequently do you refer to the LAPACK Users Guide?
Rarely

16. What information in the LAPACK guide is hard to find or is missing, if any?
it's so hard to read, i would like to see examples.

ScaLAPACK Usage

15. How frequently do you refer to the ScaLAPACK Users Guide?

Targeted Environment Specifics




Response #73: 2005-08-11

General

1. Is dense linear algebra a performance bottleneck in your applications?
Yes

2. How often do your applications use the arithmetic precisions listed below:

a. Single precision: Very Frequently
b. Double precision: Frequently
c. More than double precision: Rarely
d. Complex single precision: Very Frequently
e. Complex double precision: 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?
Yes

5. Number of processors used for your application:

a. SMP: More than 10
b. Distributed shared-memory: More than 10
c. Distributed memory: More than 10

6. Which architectures do you use or intend to use in the next three years?
Distributed-shared-memory

7. Do you use any other sequential or parallel dense linear algebra packages other than LAPACK or ScaLAPACK?
ARPACK, BLZPACK

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: Very useful

9. Do your applications solve linear algebra problems of the type?
Linear positive definite systems, General linear syst