|
ABSTRACT
FORTRAN and C software packages are often used in generic C++ software. Calling nongeneric functions in generic code is not straightforward. The bindings in this article help the C++ programmer using external software with a small effort. The bindings provide a mechanism to keep external software interfaces and specific vector and matrix containers orthogonal. We show examples using BLAS, LAPACK, UMFPACK, and MUMPS functions and subroutines.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Abrahams, D. and Gurtovoy, A. 2004. C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond. Addison-Wesley, Reading, MA.
|
| |
2
|
Agullo, E., Guermouche, A., and L’Excellent, J.-Y. 2006. A preliminary out-of-core extension of a parallel multifrontal solver. In Proceedings of the EuroPar Conference on Parallel Processing. 1053--1063.
|
| |
3
|
Amestoy, P., Duff, I., Guermouche, A., and Slavova, T. 2006. A preliminary analysis of the out-of-core solution phase of a parallel multifrontal approach. Presentation at the 4th International Workshop on Parallel Matrix Algorithms and Applications (PMAA, Sept. 7--9).
|
| |
4
|
Amestoy, P. R., Duff, I., L’Excellent, J.-Y., and Koster, J. 2001. A fully asynchronous multifrontal solver using distributed dynamic scheduling. SIAM J. Matrix Anal. Appl. 23, 1, 15--41.
|
| |
5
|
Anderson, E., Bai, Z., Bischof, C., Demmel, J., Dongarra, J., Du Croz, J., Greenbaum, A., Hammarling, S., McKenney, A., Ostrouchov, S., and Sorensen, D. 1995. LAPACK Users’ Guide. SIAM, Philadelphia, PA.
|
| |
6
|
Davis, T. 1995. Users’ guide for the Unsymmetric-pattern MultiFrontal Package (UMFPACK). Tech. rep. TR-95-004. Computer and Information Sciences Department, University of Florida, Gainesville, FL.
|
| |
7
|
Demmel, J. W., Gilbert, J. R., and Li, X. S. 1999. SuperLU users’ guide. http://www.cs.berkeley.edu/~demmel/SuperLU.html or http://www.nersc.gov/~xiaoye/SuperLU/.
|
| |
8
|
Dongarra, J. J., Du Croz, J., Duff, I. S., and Hammarling, S. 1990a. Algorithm 679: A set of level 3 basic linear algebra subprograms. ACM Trans. Math. Softw. 16, 18--28.
|
| |
9
|
Dongarra, J. J., Du Croz, J., Duff, I. S., and Hammarling, S. 1990b. A set of level 3 basic linear algebra subprograms. ACM Trans. Math. Softw. 16, 1--17.
|
| |
10
|
Dongarra, J. J., Du Croz, J., Hammarling, S., and Hanson, R. J. 1988a. Algorithm 656: An extended set of FORTRAN basic linear algebra subprograms. ACM Trans. Math. Softw. 14, 18--32.
|
| |
11
|
Dongarra, J. J., Du Croz, J., Hammarling, S., and Hanson, R. J. 1988b. An extended set of FORTRAN basic linear algebra subprograms. ACM Trans. Math. Softw. 14, 1--17.
|
| |
12
|
GLAS. 2005. Generic Linear Algebra Software. http://www.cs.kuleuven.be/~karlm/glas.
|
| |
13
|
Goto, K. and van de Geijn, R. 2008a. Anatomy of high-performance matrix multiplication. ACM Trans. Math. Softw. 34, 3, 25.
|
| |
14
|
Goto, K. and van de Geijn, R. 2008b. High-performance implementation of the level-3 blas. ACM Trans. Math. Softw. To appear.
|
| |
15
|
Gottschling, P., Wise, D. S., and Adams, M. D. 2007. Representation-transparent matrix algorithms with scalable performance. In Proceedings of the 21st Annual International Conference on Supercomputing (ICS). ACM Press, New York, NY. 116--125.
|
| |
16
|
Gregor, D., Jäarv, J., Siek, J., Stroustrup, B., Dos Reis, G., and Lumsdaine, A. 2006. Concepts: Linguistic support for generic programming in C++. In Proceedings of the ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’06). ACM Press, New York, NY. 291--310.
|
| |
17
|
Kågström, B., Ling, P., and Van Loan, C. 1995. GEMM-based level 3 BLAS: High-performance model implementations and performance evaluation benchmark. In Parallel Programming and Applications. Ios Press, Amsterdam, The Netherlands. 184--188.
|
| |
18
|
Lawson, C. L., Hanson, R. J., Kincaid, D., and Krogh, F. T. 1979. Basic linear algebra subprograms for FORTRAN usage. ACM Trans. Math. Softw. 5, 308--323.
|
| |
19
|
Lehn, M. 2008. Everything you always wanted to know about FLENS but were afraid to ask. http://flens.sourceforge.net/.
|
| |
20
|
Meyers, S. 2001. Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library. Addison-Wesley Professional. Reading, MA.
|
| |
21
|
MTL4. 2007. The Matrix Template Library, version 4. http://www.osl.iu.edu/research/mtl/mtl/4.
|
| |
22
|
MUMPS. 2001. MUlfrontal Massively Parallel Solver. http://graal.ens-lyon.fr/MUMPS/.
|
| |
23
|
Musser, D. R. and Saini, A. 1996. STL Tutorial and Reference Guide. C++ Programming with the Standard Template Library. Addison-Wesley, Reading, MA.
|
| |
24
|
Myers, N. 1995. Traits: A new and useful template technique. C++ report. http://www.cantrip.org/traits.html.
|
| |
25
|
Veldhuizen, T. 2001. Blitz++ user’s guide. http://www.oonumerics.org/blitz/.
|
|