Success with the new BLAS (almost)

View: New views
5 Messages — Rating Filter:   Alert me  

Success with the new BLAS (almost)

by Kumar Appaiah :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Dear Debian Toolchain,

I just fiddled around with BLAS a bit (actually, a long time!), and
got down to the following conclusions:

1. Camm's BLAS available from his web page builds fine on my i386.

http://people.debian.org/~camm/blas_1.2-1.dsc

Note that the orig tarball doesn't seem to be accessible; just use the
refblas3 tarball in it's place. So, this seems fine.

2. I tried getting the latest cblas and blas and putting together a
newer blas. The build went fine EXCEPT for one minor issue: I had to
use -ffloat-store. I detail you about it here:

The cblas was downloaded from:

http://www.netlib.org/blas/blast-forum/cblas.tgz

and put in the cblas folder. The other blas files were copied from:

http://www.netlib.org/lapack/lapack-lite-3.1.1.tgz

Next, I merged most of Camm's patches, which were present in
debian/blas.patch. I merged most of them satisfactorily, except the
for the following files, listed here:

cblas/src/cblas_icamax.c: merged in upstream code.
cblas/src/cblas_izamax.c: merged in upstream code.
cblas/src/cblas_isamax.c: merged in upstream code.
cblas/src/cblas_idamax.c: merged in upstream code.
cblas/testing/c_zblas1.c: merged in upstream code.
cblas/testing/c_dblas1.c: merged in upstream code.
src/izamax.f: Couldn't figure out how to merge it.
src/icamax.f: Couldn't figure out how to merge it.
src/dzasum.f: Couldn't figure out how to merge it.

Now, the package builds fine, but the test fails. And the test fails
at an IDENTICAL location to the one discussed here:

http://thread.gmane.org/gmane.comp.gcc.fortran/14320

Of course, I cannot say for sure that the cause is the same here. But
the failure is identical, and the log matches with mine.

Log for failure mentioned on the gfortran list:
http://scratch.biocycle.atmos.colostate.edu/BLAS-gfortran/ouput.txt

The failure happens for other people on other distributions as well,
with gfortran, and is not Debian specific.

After hanging around on #gfortran for a while, a more knowledgeable
person (Andrew Pinksi) just looked and it and told me immediately that
this was GCC PR 323[1], whose workaround is to either use
-ffloat-store, or ignore that test altogether. I chose the former to
build the package. In any case, another person who was helping me, :
Ismail "cartman" Donmez, filed this problem as well, and it was merged
with 323 [2].

My package is available here:
dget -x http://kumar.travisbsd.org/dump/blas_1.2.new-0.1.dsc

Note that the version number etc. is totally wrong, but the aim was
more to build it. Hence the haste. :-) Now, the things I would request
you to do are:

1. Suggest a better version for the package; as both the components
   (CBLAS and BLAS) are new, I would request an upstream version
   increase.

2. Verify that the build passes all tests on all architectures, and
   investigate the -ffloat-store issue.

3. Finish the packaging, and if needed, NMU it to experimental. Do
   note that some documentation may need to be removed first, as the
   previous attempt by Camm was rejected by the FTP master [3].

Hope someone can finish this, so that we can declare BLAS as done, and
proceed to Lapack.

Thanks.

Kumar

[1]: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=323
[2]: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34616
[3]: http://lists.debian.org/debian-toolchain/2007/11/msg00009.html
--
Kumar Appaiah,
458, Jamuna Hostel,
Indian Institute of Technology Madras,
Chennai - 600 036


signature.asc (196 bytes) Download Attachment

Re: Success with the new BLAS (almost)

by Kumar Appaiah :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sun, Dec 30, 2007 at 07:31:29AM +0530, Kumar Appaiah wrote:
[snip]

And, there's some more explanation to do about my package.

1. There's a debian/patches directory, containing loads of
   patches. These are NOT useful. I was using that place as a scratch
   pad to split and individually tests Camm's monolithic blas.patch.
2. The debian/blas.patch is _heavily_ refactored and tailored to the
   new code. The old one, which Camm had made, is named
   blas.patch.old.
3. In the previous version, I talked about "suggesting a
   version". What I meant was a suggestion for the upstream version
   number. Right now, it is 1.2.new, but that isn't acceptable...

Thanks!

Kumar
--
Kumar Appaiah,
458, Jamuna Hostel,
Indian Institute of Technology Madras,
Chennai - 600 036


signature.asc (196 bytes) Download Attachment

Re: Success with the new BLAS (almost)

by Kumar Appaiah :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sun, Dec 30, 2007 at 02:12:53PM +0530, Kumar Appaiah wrote:

> And, there's some more explanation to do about my package.
>
> 1. There's a debian/patches directory, containing loads of
>    patches. These are NOT useful. I was using that place as a scratch
>    pad to split and individually tests Camm's monolithic blas.patch.
> 2. The debian/blas.patch is _heavily_ refactored and tailored to the
>    new code. The old one, which Camm had made, is named
>    blas.patch.old.
> 3. In the previous version, I talked about "suggesting a
>    version". What I meant was a suggestion for the upstream version
>    number. Right now, it is 1.2.new, but that isn't acceptable...
A further update. I tried building my package on an amd64 machine,
which I managed to get, luckily. It FTBFSed, and I observe that the
blas.patch has some function definition modifications, which switch
float to double. I undid them, and it built fine. I attach the patch
to the blas.patch (for building with amd64) below, though someone else
has to take the decision as to whether this patch is particular to
amd64 or general.

I now leave it for others to comment, and will try out lapack when I
have time next.

Thanks!

Kumar (satisfied that he's probably solved BLAS on two archs! :-)
--
Kumar Appaiah,
458, Jamuna Hostel,
Indian Institute of Technology Madras,
Chennai - 600 036


--- blas.patch 2007-12-29 22:54:37.000000000 +0530
+++ blas.patch.kumar 2008-01-01 19:00:38.000000000 +0530
@@ -5612,25 +5612,6 @@
 +   exit(-1);
 +
  }
-Index: b/cblas/testing/c_cblas1.c
-===================================================================
---- a/cblas/testing/c_cblas1.c
-+++ b/cblas/testing/c_cblas1.c
-@@ -63,12 +63,12 @@
-    return (cblas_icamax(*N, X, *incX)+1);
- }
-
--float F77_scnrm2(const int *N, const void *X, const int *incX)
-+double F77_scnrm2(const int *N, const void *X, const int *incX)
- {
-    return cblas_scnrm2(*N, X, *incX);
- }
-
--float F77_scasum(const int *N, void *X, const int *incX)
-+double F77_scasum(const int *N, void *X, const int *incX)
- {
-    return cblas_scasum(*N, X, *incX);
- }
 Index: b/src/cgbmv.f
 ===================================================================
 --- a/src/cgbmv.f
@@ -7638,15 +7619,6 @@
    160 CONTINUE
 --- blas-1.2.orig/cblas/testing/c_sblas1.c
 +++ blas-1.2/cblas/testing/c_sblas1.c
-@@ -8,7 +8,7 @@
-  */
- #include "cblas_test.h"
- #include "cblas.h"
--float F77_sasum(const int *N, float *X, const int *incX)
-+double F77_sasum(const int *N, float *X, const int *incX)
- {
-    return cblas_sasum(*N, X, *incX);
- }
 @@ -20,12 +20,12 @@
     return;
  }
@@ -7662,22 +7634,6 @@
  {
     return cblas_scnrm2(*N, X, *incX);
  }
-@@ -37,13 +37,13 @@
-    return;
- }
-
--float F77_sdot(const int *N, const float *X, const int *incX,
-+double F77_sdot(const int *N, const float *X, const int *incX,
-                         const float *Y, const int *incY)
- {
-    return cblas_sdot(*N, X, *incX, Y, *incY);
- }
-
--float F77_snrm2(const int *N, const float *X, const int *incX)
-+double F77_snrm2(const int *N, const float *X, const int *incX)
- {
-    return cblas_snrm2(*N, X, *incX);
- }
 --- blas-1.2.orig/cblas/testing/c_sblat3.f
 +++ blas-1.2/cblas/testing/c_sblat3.f
 @@ -1339,7 +1339,7 @@



signature.asc (196 bytes) Download Attachment

Re: Success with the new BLAS (almost)

by Matthias Klose-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Kumar Appaiah writes:
> 2. I tried getting the latest cblas and blas and putting together a
> newer blas. The build went fine EXCEPT for one minor issue: I had to
> use -ffloat-store. I detail you about it here:

Afaicr, this was a failure in the testsuite?

Camm, could you make your source package available as well?

  Matthias


--
To UNSUBSCRIBE, email to debian-toolchain-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: Success with the new BLAS (almost)

by Kumar Appaiah :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Dear Matthias,

On Thu, Jan 17, 2008 at 06:16:44PM +0100, Matthias Klose wrote:
> Kumar Appaiah writes:
> > 2. I tried getting the latest cblas and blas and putting together a
> > newer blas. The build went fine EXCEPT for one minor issue: I had to
> > use -ffloat-store. I detail you about it here:
>
> Afaicr, this was a failure in the testsuite?

Yes, this was a failure in the testsuite, as I have documented in the
mail you have replied to above. Sorry if it wasn't clear.

> Camm, could you make your source package available as well?

Thanks.

Kumar
--
Kumar Appaiah,
458, Jamuna Hostel,
Indian Institute of Technology Madras,
Chennai - 600 036


signature.asc (196 bytes) Download Attachment
LightInTheBox - Buy quality products at wholesale price