[CMake] Re: New CMake modules for a large variety of BLAS/LAPACK API implementations.

Alan W. Irwin irwin at beluga.phys.uvic.ca
Mon Aug 27 14:03:55 EDT 2007


Since the development of FindBlas.cmake and FindLAPACK.cmake has been
sporadic with three different developers involved, I thought I should review
the history here, and then make comments on where we stand at the moment.

On 2007-01-25 23:41-0800 Alan W. Irwin wrote:

> The FreeEOS project has a number of users that use a variety of different
> lapack-related libraries which are named in a variety of ways. Because the
> FindBLAS.cmake and FindLAPACK.cmake modules provided by Jan Woetzel at
> http://www.mip.informatik.uni-kiel.de/~jw/cmake/CMakeModules/ do not deal
> with this library name issue I started again from scratch following the
> approach used in the standard autoconf macros that can be found at
> http://ac-archive.sourceforge.net/ac-archive/acx_blas.html and
> http://ac-archive.sourceforge.net/ac-archive/acx_lapack.html.  My new CMake
> modules not only search in turn for the ATLAS, PhiPACK, Alpha CXML, Alpha
> DXML, Sun Performance, SCSL, SGIMATH, IBM ESSL, and generic forms of the
> libraries, but if those libraries exist, test if they link with the fortran
> compiler that has been chosen.
>
> For those of you with an interest in BLAS or LAPACK, please try the new
> FindBLAS.cmake and FindBLAS.cmake (FindLapack.cmake) modules (and the
> CheckFortranFunctionExists.cmake module that defines a macro used by both of
> them) which can be found at
> http://freeeos.cvs.sourceforge.net/freeeos/freeeos/cmake/modules/.  The tail
> end of the free_eos.cmake module from that same location shows how fortran
> is set up and the new modules used.

Since that post, David Thompson sent me a patch for Mac OS X which I
applied, and FreeEOS has been changed over to svn control so the new location
is http://freeeos.svn.sourceforge.net/viewvc/freeeos/trunk/cmake/modules/.

Today, Alin M Elena sent heavily modified versions of FindBLAS.cmake and
FindLAPACK.cmake to the list that appear to be greatly improved in their
ability to deal with more LAPACK/BLAS possibilities. (The
CheckFortranFunctionExists.cmake included with that post is unmodified from
the version at the above location.)

It appears Alin and I have the common goal to donate our work on
FindBLAS.cmake, FindLAPACK.cmake, and CheckFortranFunctionExists.cmake to
cmake so the question appears to be the best way to do that.

Alin, my LAPACK/BLAS knowledge appears to be more limited than yours since
you have added a lot to what I just copied from the existing autoconf macro
knowledge of LAPACK/BLAS systems.  Therefore, I think you are the logical
person to apply to be the maintainer of at least FindBLAS.cmake,
FindLAPACK.cmake and probably CheckFortranFunctionExists.cmake as well.
However, if you don't want to be the maintainer, I guess I would be willing
although I only have experience with LAPACK/BLAS on just one system so I
would have to rely on a lot of knowledge from others.

To apply to be a module maintainer (with CMake cvs write access for modules)
my understanding from Bill Hoffman's July 25 post to this list is you should
post your application to this list with [New Module] in the subject line.

Alin, please let me know what you decide about the module maintainer
question for FindBLAS.cmake, FindLAPACK.cmake, and
CheckFortranFunctionExists.cmake.  However, this is decided, I am looking
forward to these modules becoming part of CMake.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________

Linux-powered Science
__________________________


More information about the CMake mailing list