New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
atlas not respecting SAGE_FAT_BINARY on i686 systems #9382
Comments
comment:1
Attachment: atlas-i686-FAT.patch.gz |
comment:2
Very likely positive review -- just need Robert Miller to try it on some 32-bit linux box. |
comment:3
I get an error installing atlas with this patch:
Looking at the patch, do I see a mismatched single quote? |
comment:4
That's what it looks like to me. What if you just delete the quote? Replace
with
(no single quote before the second |
comment:5
The third uname then has a mismatched double quote. |
comment:6
Apologies for my silly error. Here is a revised patch 9382.patch and the corresponding spkg atlas-3.8.3.p13.spkg. |
comment:7
A similar problem has been noticed in Arch Linux: https://bugs.archlinux.org/task/21592
|
comment:8
On the other hand, on solaris it looks like As |
Changed author from Mariah Lenox to Mariah Lenox, Willem Jan Palenstijn |
comment:10
Willem: which machine and which uname outputs are you referring to in comment 8? Instead of hacking around the current atlas build script, I think it would be a good point to switch to my rewritten atlas spkg at #10226 that detects the configuration in a much cleaner way. |
comment:11
Nearly every linux machine I've tried, with a few exceptions where Example (a 64 bit Gentoo machine):
|
updated version of previous patches |
comment:12
Attachment: 9382.patch.gz Replying to @sagetrac-mariah:
That patch has another tiny error: it has " |
comment:16
Replying to @dandrake:
I currently don't know whether the new (Python install script) ATLAS spkg from #10226 supports
if [ ... -o ... -o ... -o ... ]; then ... one should use case "`uname -m`" in
i[3456]86|i86pc)
...
;;
amd64|x86_64)
...
;;
ia64) # Itanium
...
;;
# etc.
esac instead, which is not only more readable, but also more robust (and portable w.r.t. broken / buggy |
comment:17
For the record, the updated ATLAS spkg from #10226 uses the try:
conf['system'] = os.environ['UNAME']
except KeyError:
conf['system'] = platform.system() Also there is some support for if os.environ.get('SAGE_FAT_BINARY', 'no') == 'yes' and conf['Intel?']:
print 'Sage "fat" binary mode set: Building SSE2 only Hammer binary'
print 'NOTE: This can result in a Sage that is significantly slower at certain numerical'
print 'linear algebra since full FAT binary support has not been implemented yet.'
arch = 'HAMMER'
isa_ext = ('SSE2', 'SSE1') Though I'm not sure if anybody ever verified that ATLAS, with these settings, indeed does not use any more advanced isa extensions. |
comment:18
Oops we are talking about conf['Intel?'] = (platform.machine() in ('i386', 'i486', 'i586', 'i686', 'x86_64',
'AMD64', 'i86pc'))
conf['IA64?'] = (platform.processor() == 'ia64')
conf['PPC?'] = (platform.processor() == 'powerpc')
conf['SPARC?'] = (platform.processor() == 'sparc') |
comment:19
Replying to @vbraun:
Regarding that a) the notion of "fat" binaries is misleading (because "fat" originally refers to different code for different [flavours of] processors in the same binary / executable), and b) there's neither a definition nor a consistent practice of what ISA subsets Sage uses if If someone complains, we can always change the behaviour of the affected spkg(s); with the exception of AFAIK very rare We could of course over time collect what different spkgs do, on a wiki page, though. (For most packages and binary distributions adding |
comment:20
I agree and will set this ticket to positive review. Since it is hard/impossible to tell the gcc flags from the compiled binary, I think we should eventually move the PS: Release manager: this ticket is fixed by #10226 and can be closed. |
Reviewer: Leif Leonhardy, Volker Braun |
comment:21
Replying to @vbraun:
Nope, Should we cc Jeroen and delete the ticket from the wishlist wiki page? |
comment:22
The instruction set is selected with We should remove the ticket from the wishlist. Jeroen will close this ticket when he gets around to it, no need to contact him. |
comment:23
Replying to @vbraun:
Maybe a long-lasting typo (at least since GCC 4.3.3, to be reported upstream ;-) ). Sections on other architectures describe the [IMHO] correct meaning. Or it has been inconsistent for x86 from the beginning, and therefore been deprecated. |
comment:24
I don't see any consistency across architectures:
There is a ton of dead architectures, but I don't think they have any up-to-date interface. |
Changed author from Mariah Lenox, Willem Jan Palenstijn to none |
atlas on i686 systems (x86-Linux) is
not respecting SAGE_FAT_BINARY.
The attached mercurial patch adds
i686 to the list of other architectures
(i386, x86_64) that respect SAGE_FAT_BINARY.
Component: packages: standard
Reviewer: Leif Leonhardy, Volker Braun
Issue created by migration from https://trac.sagemath.org/ticket/9382
The text was updated successfully, but these errors were encountered: