ICAMAX/IZAMAX tests

Bug #202869 reported by Konstantin L. Metlov
16
Affects Status Importance Assigned to Milestone
atlas (Ubuntu)
Fix Released
Undecided
Unassigned
Hardy
Won't Fix
Undecided
Unassigned
blas (Ubuntu)
Fix Released
Undecided
Matthias Klose
Hardy
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: blas

On architectures with internal floating point precision higher than that of the varibles (such as 68000, x86) files src/icamax.f and src/izamax.f must necessarily be compiled with -ffloat-store option. Otherwise the corresponding functions do not perform to their specification and the corresponding blas level 1 tests fail. This, in particular, prevents atlas-3.6.0-21.1ubuntu2 from building on i386.

It is, of course, an overkill to enable -ffloat-store for the whole BLAS, but enabling it only for two said files works well and the impact on performance is negligible.

This can be acomplished by the following changes to debian/rules
BOBJ:=$(BSRC:.f=.o)
+BOBJ1:=$(filter-out src/izamax.o,$(filter-out src/icamax.o,$(BOBJ)))
+BOBJ2:=src/icamax.o src/izamax.o

....

debian/shared_dir debian/static_dir debian/test_dir:
        mkdir -p $(subst _dir,,$(@))
        touch $@

!$(subst src/,debian/static/,$(BOBJ1)): \
        debian/static/%.o : src/%.f debian/static_dir debian/patch_applied

        $(F77) $(F77FLAGS) -c $< -o $@

+$(subst src/,debian/static/,$(BOBJ2)): \
+ debian/static/%.o : src/%.f debian/static_dir +debian/patch_applied
+
+ $(F77) $(F77FLAGS) -ffloat-store -c $< -o $@

The resulting library passes all of the BLAS test suite. This also fixes atlas-3.6.0-21.1ubuntu2 build problem.

TEST CASE:
1) grab the atlas 3.6.0-21.1ubuntu2 source package from <https://launchpad.net/ubuntu/hardy/+source/atlas/3.6.0-21.1ubuntu2>.
2) try to build it on hardy/i386
3) install the blas packages from hardy-proposed
4) try to build it again

description: updated
Revision history for this message
StefanPotyra (sistpoty) wrote :

Thanks very much for finding out what went wrong!

Subscribing Matthias: you're the last uploader of blas, can you take a look at this, please?

Thanks,
    Stefan.

Matthias Klose (doko)
Changed in blas:
status: New → In Progress
status: New → In Progress
Revision history for this message
Martin Pitt (pitti) wrote :

Accepted into -proposed, please test and give feedback here

Changed in atlas:
status: New → Fix Committed
Changed in blas:
status: In Progress → Fix Committed
Revision history for this message
Martin Pitt (pitti) wrote :

Needs to be uploaded to intrepid ASAP.

Changed in blas:
assignee: nobody → doko
milestone: none → intrepid-alpha-2
Changed in atlas:
status: Fix Committed → New
Revision history for this message
Matthias Klose (doko) wrote :

> Needs to be uploaded to intrepid ASAP.
see 239783

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package blas - 1.2-1.6

---------------
blas (1.2-1.6) unstable; urgency=low

  * Build using the default gcc/gfortran compilers except on alpha.
  * On architectures with internal floating point precision higher than that
    of the variables (such as 68000, x86) files src/icamax.f and src/izamax.f
    must necessarily be compiled with -ffloat-store option. Otherwise the
    corresponding functions do not perform to their specification and the
    corresponding blas level 1 tests fail. Don't build the whole library
    with -ffloat-store. Suggested by Konstantin L. Metlov in Launchpad.
    Closes: #202869. LP: #202869.
  * Fix bashisms in debian/rules. Closes: #484373.

 -- Matthias Klose <email address hidden> Mon, 16 Jun 2008 12:21:31 +0100

Changed in blas:
status: In Progress → Fix Released
Revision history for this message
Martin Pitt (pitti) wrote :

Intrepid fixed by syncing from Debian, thanks Matthias.

Changed in blas:
milestone: intrepid-alpha-2 → none
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package atlas - 3.6.0-21.5ubuntu1

---------------
atlas (3.6.0-21.5ubuntu1) intrepid; urgency=low

  * Merge with Debian; remaining changes:
    - Build using the default compilers.
  * Remove the workaround introduced in 3.6.0-21.1ubuntu3.
  * Build against fixed blas, build cblas_i[cz]amax.c with -ffloat-store
    on ix86 archs. LP: #202869.

atlas (3.6.0-21.5) unstable; urgency=low

  * Non-maintainer upload to fix cruft I introduced in previous NMU.
  * Remove debian/po/OLD and debian/po/NEW

atlas (3.6.0-21.4) unstable; urgency=low

  * Non-maintainer upload to fix pending l10n issues and FTBFS.

  [ Christian Perrier ]
  * debian/*.templates, debian/po/*.po: Fix name of packages in last
    sentence of the debconf templates and in the translations
    Closes: #372366
  * Add new debconf translations:
    - Japanese, thanks TANAKA Atushi
    - Spanish, thanks Felipe Caminos
    - Finnish, thanks Esko Arajärvi
    - Galician. Closes: #472589
  * Update Vietnamese debconf translation, thanks Clytie Siddall
  * debian/po/POTFILES.in: Changed atlas3 into libatlas3gf
  * [Lintian] Use Homepage: field in debian/control
  * [Lintian] Put -dev packages in section libdevel

  [ Matthias Klose ]
  * Don't build with -mlongcall on powerpc, fixes build failure.

atlas (3.6.0-21.3) unstable; urgency=low

  * Link using gfortran instead of gcc.
  * Build-depend on gfortran.

atlas (3.6.0-21.2) unstable; urgency=low

  * Upload to unstable.

 -- Matthias Klose <email address hidden> Mon, 16 Jun 2008 15:10:17 +0200

Changed in atlas:
status: New → Fix Released
Revision history for this message
Steve Beattie (sbeattie) wrote :

Would it be possible for someone to add a testcase to the description of this bug, perhaps in particular describing which blas level 1 tests fail and how to invoke them? This is one of the bugfixes we'd like to verify in the SRU BugHug day tomorrow: https://wiki.ubuntu.com/UbuntuBugDay/20080624

Thanks!

Steve Langasek (vorlon)
description: updated
Revision history for this message
Steve Langasek (vorlon) wrote :

Building atlas 21.2 against the blas in hardy, I get:

 Test of subprogram number 10 ICAMAX
                                       FAIL

 CASE N INCX INCY MODE COMP TRUE DIFFERENCE

   10 4 1 9999 9999 3 2 1
   10 4 2 9999 9999 3 2 1
make: *** [debian/test/xcblat1] Error 1

and when upgrading blas to -proposed, I get a complete build. copying to hardy-updates.

Changed in blas:
status: Fix Committed → Fix Released
Revision history for this message
Rolf Leggewie (r0lf) wrote :

Hardy has seen the end of its life and is no longer receiving any updates. Marking the Hardy task for this ticket as "Won't Fix".

Changed in atlas (Ubuntu Hardy):
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.