
From: Konrad Hinsen [mailto:hinsen@cnrs-orleans.fr]
(1) The extent of the support for LAPACK. Do we want to stick with LAPACK Lite?
There has been a full LAPACK interface for a long while, of which LAPACK Lite is just the subset that is needed for supporting the high-level routines in the module LinearAlgebra. I seem to have lost the URL to the full version, but it's on my disk, so I can put it onto my FTP server if there is a need.
Yes, I'd like to get a copy! You can simply e-mail it to me, if you'd prefer.
(2) The storage format. If we've still got row-ordered matrices under the hood, and we want to use native LAPACK libraries that were compiled using column-major format, then we'll have to be careful to set all of the flags correctly. This isn't going to be a big deal, _unless_ NumPy will support more of LAPACK when a native library is available. Then, of course, there ...
The low-level interface routines don't take care of this. It's the high-level Python code (module LinearAlgebra) that sets the transposition argument correctly. That looks like a good compromise to me.
I'll have to look at this more carefully. Due to my relative lack of Python experience, I hacked the C code so that Fortran routines could be called instead, producing the expected results.
(3) Through the judicious use of header files with compiler- dependent flags, we could accommodate the various naming conventions used when the FORTRAN libraries were compiled (e.g., sgetrf_ or SGETRF).
That's already done!
Where? Even in the latest f2c'd source code that I downloaded from SourceForge, I see all names written using the lower-case-trailing-underscore convention (e.g., dgeqrf_). The Intel MKL was compiled from Fortran source using the upper-case-no-underscore convention (e.g., DGEQRF). If I replace dgeqrf_ with DGEQRF in dlapack_lite.c (and a few other tweaks), then the subsequent link with the IMKL succeeds. ============================ Ray Beausoleil Hewlett-Packard Laboratories mailto:beausol@hpl.hp.com Vox: 425-883-6648 Fax: 425-883-2535 HP Telnet: 957-4951 ============================

onto my FTP server if there is a need.
Yes, I'd like to get a copy! You can simply e-mail it to me, if you'd prefer.
OK, coming soon...
I'll have to look at this more carefully. Due to my relative lack of Python experience, I hacked the C code so that Fortran routines could be called instead, producing the expected results.
That's fine, you can simply replace the f2c-generated code by Fortran-compiled code, as long as the calling conventions are the same. I have used optimized BLAS as well on some machines.
Where? Even in the latest f2c'd source code that I downloaded from SourceForge, I see all names written using the lower-case-trailing-underscore convention (e.g., dgeqrf_). The Intel MKL was
Sure, f2c generates the underscores. But the LAPACK interface code (the one I'll send you, and also LAPACK Lite) supports both conventions, controlled by the preprocessor symbol NO_APPEND_FORTRAN (maybe not the most obvious name). On the other hand, there is no support for uppercase names; that convention is not used in the Unix world. But I suppose it could be added by machine transformation of the code. Konrad. -- ------------------------------------------------------------------------------- Konrad Hinsen | E-Mail: hinsen@cnrs-orleans.fr Centre de Biophysique Moleculaire (CNRS) | Tel.: +33-2.38.25.55.69 Rue Charles Sadron | Fax: +33-2.38.63.15.17 45071 Orleans Cedex 2 | Deutsch/Esperanto/English/ France | Nederlands/Francais -------------------------------------------------------------------------------
participants (2)
-
Beausoleil, Raymond
-
Konrad Hinsen