ICAMAX/IZAMAX tests
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.
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:
+BOBJ2:
....
debian/shared_dir debian/static_dir debian/test_dir:
mkdir -p $(subst _dir,,$(@))
touch $@
!$(subst src/,debian/
$(F77) $(F77FLAGS) -c $< -o $@
+$(subst src/,debian/
+ debian/static/%.o : src/%.f debian/static_dir +debian/
+
+ $(F77) $(F77FLAGS) -ffloat-store -c $< -o $@
The resulting library passes all of the BLAS test suite. This also fixes atlas-3.
TEST CASE:
1) grab the atlas 3.6.0-21.1ubuntu2 source package from <https:/
2) try to build it on hardy/i386
3) install the blas packages from hardy-proposed
4) try to build it again
description: | updated |
Changed in blas: | |
status: | New → In Progress |
status: | New → In Progress |
description: | updated |
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.