LAPACK 3.2.2 released

Open discussion regarding features, bugs, issues, vendors, etc.

LAPACK 3.2.2 released

Postby admin » Thu Jul 01, 2010 10:12 am

Dear LAPACK users,

LAPACK 3.2.2 was released on June 30, 2010.

This is a bug fix release following the LAPACK 3.2.1 release.
The LAPACK team would like to thank all the users who contributed to correct those issues.
(And bigger thank to those who not only provided bug report but also bug patches!)

For details, please see http://www.netlib.org/lapack/lapack-3.2.2.html
To download: http://www.netlib.org/lapack/lapack.tgz

Regards,
The LAPACK team
admin
Site Admin
 
Posts: 612
Joined: Wed Dec 08, 2004 7:07 pm

Re: LAPACK 3.2.2 released

Postby cottrell » Sat Jul 03, 2010 8:45 pm

I'm a big fan of LAPACK, and many thanks for the new bug-fix release.

But (sorry for the "but") I'm disappointed that the build process for LAPACK
is still, apparently, antediluvian and undocumented. On unpacking the
LAPACK 3.2.2 source package I find a Makefile that doesn't work without
unspecified further operations. (OK, the fact that the package contains
a "make.inc.example" is a hint, but the barest of hints, given that
README says nothing to the purpose.)

The 3.2.2 release notes contain useful information on bugs fixed, but nothing
on the build process except for the statement that cmake is now supported.
So I try "cmake" in the lapack source directory. This gives a long list of
apparently irrelevant options, among which I figure that the ugly
invocation (quotes required)

cmake -G "Unix Makefiles"

might help. It does, up to a point, but there's still no way apart from hand-
hacking of the Makefiles (or none that I have found) to build shared libraries
on a UNIX-type system (Linux in my case). Who uses static libraries who
has any options?

So it's back to hand-hacking the makefiles. It would be very nice if LAPACK
were to support

./configure --enable-shared --disable-static ; make ; make install

Thanks for listening, and maybe I'll try to submit a patch.

Allin Cottrell
cottrell
 
Posts: 68
Joined: Thu Jan 15, 2009 1:40 pm

Re: LAPACK 3.2.2 released

Postby admin » Sat Jul 03, 2010 8:56 pm

Thanks for the feedback.
We will work on updating the documentation.

Here are the commands to compile LAPACK
Code: Select all
cp make.inc.example make.inc
make blaslib
make


For cmake, best is to use the GUI.
Need to click configure twice and then generate.
In the directory that contains the binaries
Code: Select all
make
make testing


LAPACK relies mainly on user feedback and user contribution.
We have many users interested by building LAPACK into shared library.
Any contribution is more than welcome.
Thanks
Julie
admin
Site Admin
 
Posts: 612
Joined: Wed Dec 08, 2004 7:07 pm

Re: LAPACK 3.2.2 released

Postby cottrell » Tue Jul 06, 2010 11:47 am

Sorry to be a bit testy in my previous posting. Of course the
LAPACK build process is documented, it's just that there's no
doc in the source package (a pointer in there would be nice).

Anyway, I have written a small package that adds GNU autoconf
support for building LAPACK 3.2.2. It's at
http://www.wfu.edu/~cottrell/lapack/ and I'm appending the
README below. Comments/bug-reports welcome.

lapack-autoconf
===============

A small package which adds GNU autoconf support for building
LAPACK 3.2.2 (with or without the reference BLAS). That is, it
supports

./configure ; make ; make check ; make install

It builds shared libraries libblas-3.2.2.so and liblapack-3.2.2.so
by default, but offers the usual configure options.

To try it out:

* Get the LAPACK 3.2.2 source, http://www.netlib.org/lapack/lapack.tgz
and unpack it.

* Unpack lapack-autoconf.tgz in the top level LAPACK directory,
"lapack-3.2.2".

* Do "./configure --help" and/or read README.autconf

* configure and build.

Note: unpacking lapack-autoconf.tgz overwrites some of the original
Netlib makefiles, and running ./configure overwrites others. However
the package includes backups, and if you want to restore the original
state of these files, do

./tools/restore_makefiles

Allin Cottrell
Wake Forest University
2010-07-06
cottrell
 
Posts: 68
Joined: Thu Jan 15, 2009 1:40 pm

Re: LAPACK 3.2.2 released

Postby admin » Tue Jul 06, 2010 11:53 am

Great Allin,
If it is ok with you, I will add your package on the netlib website.
As we have chosen to include cmake as build manager (cmake works on all kind of platforms, especially Windows), I will release your package as it is.
Sounds good to you?
Thanks for your contribution
Julie
admin
Site Admin
 
Posts: 612
Joined: Wed Dec 08, 2004 7:07 pm

Re: LAPACK 3.2.2 released

Postby cottrell » Tue Jul 06, 2010 4:36 pm

Sure, I'd be glad to see my package go onto the website.

Out of interest, is there a way (via command line) to get
the cmake apparatus to build shared libraries for LAPACK
on a UNIX-type platform? I tried to find that and failed,
but maybe I didn't try hard enough.
cottrell
 
Posts: 68
Joined: Thu Jan 15, 2009 1:40 pm

Re: LAPACK 3.2.2 released

Postby admin » Tue Jul 06, 2010 7:05 pm

Hi,
It is not an option at the moment in the CMAKE, it will surely be for the next release.
For the moment, just add the word SHARED in the SRC/CMakeLists.txt
So you want to change the following line:
Code: Select all
add_library(lapack ${ALLOBJ} ${ALLXOBJ})
to
Code: Select all
add_library(lapack SHARED ${ALLOBJ} ${ALLXOBJ})

I just tested it on my machine and it works fine.
Julie
admin
Site Admin
 
Posts: 612
Joined: Wed Dec 08, 2004 7:07 pm

Re: LAPACK 3.2.2 released

Postby cottrell » Wed Jul 07, 2010 10:53 am

Thanks, Julie, I'll try that.

I have now made a better version of my autoconf package,
with a version number so that any future changes will be
apparent:

http://www.wfu.edu/~cottrell/lapack/lap ... 0.1.tar.gz

In experimenting with this I think I found a little bug in the
LAPACK build, when you select the double type only (that is,
"make double" in SRC.)

The lapack library that gets built in that case has undefined
references to the (single-precision) symbols slamch_, spotrs_,
sgetrs_, spotrf_ and sgetrf_. These references appear because
the functions in question are called in the source files dlag2s.f,
dlat2s.f, dsposv.f and dsgesv.f, which are part of the group
DLASRC in SRC/Makefile. I think these files should be included
only if the library to be built includes the relevant single-
precision support. In my package I have moved dlag2s and
friends into a new group called DSLASRC.
cottrell
 
Posts: 68
Joined: Thu Jan 15, 2009 1:40 pm


Return to User Discussion

Who is online

Users browsing this forum: No registered users and 4 guests