Re: [sage-devel] Re: [ARM] sage 6.5
In spkg-install you need to add a suitable branch in configure_base(): On Monday, February 23, 2015 at 11:36:42 AM UTC+1, Snark wrote: Hi, Le 21/02/2015 17:25, Volker Braun a écrit : The atlas build script just aborts with SAGE_ATLAS_ARCH=base, nothing else to see here. I compiled sage-6.5 with my usual setup, then tried: export SAGE_FAT_BINARY=yes ./sage -f atlas and the compilation with : Traceback (most recent call last): File ./spkg-install, line 510, in module rc = build() File ./spkg-install, line 448, in build rc = configure(arch, isa_ext) File ./spkg-install, line 256, in configure arch, isa_ext, thread_limit = configure_base() File ./spkg-install, line 396, in configure_base raise NotImplementedError('I don\'t know a base configuration for your cpu.') NotImplementedError: I don't know a base configuration for your cpu. I think something should be done in the configure_base function -- but since I haven't found how from configuration import conf works, I don't know exactly how to make that work. Pointing to a specific location for the atlas library isn't going to be much use in a binary that we distribute. As pointed out by J.-P. Flori, ARM is a generic name for a whole processor family, so providing something which works everywhere isn't easy... or even possible. Still, we can perhaps shoot for something better. Snark on #sagemath -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: [ARM] sage 6.5
Hi, Le 21/02/2015 17:25, Volker Braun a écrit : The atlas build script just aborts with SAGE_ATLAS_ARCH=base, nothing else to see here. I compiled sage-6.5 with my usual setup, then tried: export SAGE_FAT_BINARY=yes ./sage -f atlas and the compilation with : Traceback (most recent call last): File ./spkg-install, line 510, in module rc = build() File ./spkg-install, line 448, in build rc = configure(arch, isa_ext) File ./spkg-install, line 256, in configure arch, isa_ext, thread_limit = configure_base() File ./spkg-install, line 396, in configure_base raise NotImplementedError('I don\'t know a base configuration for your cpu.') NotImplementedError: I don't know a base configuration for your cpu. I think something should be done in the configure_base function -- but since I haven't found how from configuration import conf works, I don't know exactly how to make that work. Pointing to a specific location for the atlas library isn't going to be much use in a binary that we distribute. As pointed out by J.-P. Flori, ARM is a generic name for a whole processor family, so providing something which works everywhere isn't easy... or even possible. Still, we can perhaps shoot for something better. Snark on #sagemath -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: [ARM] sage 6.5
Le 23/02/2015 15:05, Julien Puydt a écrit : Le 23/02/2015 14:27, Julien Puydt a écrit : That will take some time though : this box isn't fast. And I work on it while it plays with sage. In fact, when an arch is given, it does compile ad nauseum so it doesn't take that much time. The box is currently toying with the following patch : diff --git a/build/pkgs/atlas/spkg-install b/build/pkgs/atlas/spkg-install index 2d2972e..b5c2808 100755 --- a/build/pkgs/atlas/spkg-install +++ b/build/pkgs/atlas/spkg-install @@ -392,6 +392,12 @@ def configure_base(): elif conf['IA64?']: print('Base configuration on Itanium.') arch = 'IA64Itan' +elif conf['ARM?']: +print('Base configuration on ARM.') +if conf['processor'] == 'armv7l': +arch = 'ARMv7' +else: +arch = 'ARMv6' else: raise NotImplementedError('I don\'t know a base configuration for your cpu.') return (arch, isa_ext, thread_limit) Does it look good? What about that one : diff --git a/build/pkgs/atlas/spkg-install b/build/pkgs/atlas/spkg-install index 2d2972e..7733f65 100755 --- a/build/pkgs/atlas/spkg-install +++ b/build/pkgs/atlas/spkg-install @@ -392,6 +392,13 @@ def configure_base(): elif conf['IA64?']: print('Base configuration on Itanium.') arch = 'IA64Itan' +elif conf['ARM?']: +if conf['processor'] == 'armv7l': +print('Base configuration on ARMv7.') +arch = 'ARMv7' +else: +print('Base configuration on ARMv6.') +arch = 'ARMv6' else: raise NotImplementedError('I don\'t know a base configuration for your cpu.') return (arch, isa_ext, thread_limit) ? Snark on #sagemath -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: [ARM] sage 6.5
The base configuration is supposed to be a fixed one. If you want to tune for your respective cpu then we can do that already. On Monday, February 23, 2015 at 3:26:47 PM UTC+1, Snark wrote: Le 23/02/2015 15:05, Julien Puydt a écrit : Le 23/02/2015 14:27, Julien Puydt a écrit : That will take some time though : this box isn't fast. And I work on it while it plays with sage. In fact, when an arch is given, it does compile ad nauseum so it doesn't take that much time. The box is currently toying with the following patch : diff --git a/build/pkgs/atlas/spkg-install b/build/pkgs/atlas/spkg-install index 2d2972e..b5c2808 100755 --- a/build/pkgs/atlas/spkg-install +++ b/build/pkgs/atlas/spkg-install @@ -392,6 +392,12 @@ def configure_base(): elif conf['IA64?']: print('Base configuration on Itanium.') arch = 'IA64Itan' +elif conf['ARM?']: +print('Base configuration on ARM.') +if conf['processor'] == 'armv7l': +arch = 'ARMv7' +else: +arch = 'ARMv6' else: raise NotImplementedError('I don\'t know a base configuration for your cpu.') return (arch, isa_ext, thread_limit) Does it look good? What about that one : diff --git a/build/pkgs/atlas/spkg-install b/build/pkgs/atlas/spkg-install index 2d2972e..7733f65 100755 --- a/build/pkgs/atlas/spkg-install +++ b/build/pkgs/atlas/spkg-install @@ -392,6 +392,13 @@ def configure_base(): elif conf['IA64?']: print('Base configuration on Itanium.') arch = 'IA64Itan' +elif conf['ARM?']: +if conf['processor'] == 'armv7l': +print('Base configuration on ARMv7.') +arch = 'ARMv7' +else: +print('Base configuration on ARMv6.') +arch = 'ARMv6' else: raise NotImplementedError('I don\'t know a base configuration for your cpu.') return (arch, isa_ext, thread_limit) ? Snark on #sagemath -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: [ARM] sage 6.5
Hi, Le 23/02/2015 12:13, Volker Braun a écrit : In spkg-install you need to add a suitable branch in configure_base(): Yes, but my question was : how do I know how to write that branch? I didn't manage to get from configuration import conf to work, so I couldn't look at 'conf' to know what values I have in there on my ARM box. Now I have found the time do dig around, and found configuration.py just right there in build/pkgs/atlas/, so I think I'll be able to do something :-P That will take some time though : this box isn't fast. And I work on it while it plays with sage. Snark on #sagemath -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: [ARM] sage 6.5
Le 23/02/2015 15:34, Volker Braun a écrit : The base configuration is supposed to be a fixed one. If you want to tune for your respective cpu then we can do that already. What do we fix to, then armv7 or armv6 ? Snark on #sagemath -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: [ARM] sage 6.5
Le 23/02/2015 15:33, Dima Pasechnik a écrit : hmm, shouldn't there also be a distinction between hardware and software floats? (Although I believe ARM chips you want to run Sage on all have hardware floats - but the question is how the OS is configured). There is already code in spkg-install to force hf on ARM -- I didn't touch that. Snark on #sagemath -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: [ARM] sage 6.5
Le 23/02/2015 14:27, Julien Puydt a écrit : Hi, Le 23/02/2015 12:13, Volker Braun a écrit : In spkg-install you need to add a suitable branch in configure_base(): Yes, but my question was : how do I know how to write that branch? I didn't manage to get from configuration import conf to work, so I couldn't look at 'conf' to know what values I have in there on my ARM box. Now I have found the time do dig around, and found configuration.py just right there in build/pkgs/atlas/, so I think I'll be able to do something :-P That will take some time though : this box isn't fast. And I work on it while it plays with sage. The box is currently toying with the following patch : diff --git a/build/pkgs/atlas/spkg-install b/build/pkgs/atlas/spkg-install index 2d2972e..b5c2808 100755 --- a/build/pkgs/atlas/spkg-install +++ b/build/pkgs/atlas/spkg-install @@ -392,6 +392,12 @@ def configure_base(): elif conf['IA64?']: print('Base configuration on Itanium.') arch = 'IA64Itan' +elif conf['ARM?']: +print('Base configuration on ARM.') +if conf['processor'] == 'armv7l': +arch = 'ARMv7' +else: +arch = 'ARMv6' else: raise NotImplementedError('I don\'t know a base configuration for your cpu.') return (arch, isa_ext, thread_limit) Does it look good? We should have the time to discuss before the compilation finishes... Snark on #sagemath -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: [ARM] sage 6.5
Le 23/02/2015 15:40, Jean-Pierre Flori a écrit : I agree with Volker, just put one thing here. I would say: arch='ARMv6' for base (and arch=ARMv7 for fast if you want to enable a fast configuration). It would also be good to put ISA= (don't remember the var name or syntax) to explicitely disable isa extensions for the base configuration. I would have to think more to remember what to put for the fast configuration. For the base, isa_ext is set to none at the start of the config_base function. I'm now trying on my armv7l box with the ARMv6 arch : diff --git a/build/pkgs/atlas/spkg-install b/build/pkgs/atlas/spkg-install index 2d2972e..f201c42 100755 --- a/build/pkgs/atlas/spkg-install +++ b/build/pkgs/atlas/spkg-install @@ -392,6 +392,9 @@ def configure_base(): elif conf['IA64?']: print('Base configuration on Itanium.') arch = 'IA64Itan' +elif conf['ARM?']: +print('Base configuration on ARM.') +arch = 'ARMv6' else: raise NotImplementedError('I don\'t know a base configuration for your cpu.') return (arch, isa_ext, thread_limit) Snark on #sagemath -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: [ARM] sage 6.5
Le 23/02/2015 15:48, Julien Puydt a écrit : Le 23/02/2015 15:40, Jean-Pierre Flori a écrit : I agree with Volker, just put one thing here. I would say: arch='ARMv6' for base (and arch=ARMv7 for fast if you want to enable a fast configuration). It would also be good to put ISA= (don't remember the var name or syntax) to explicitely disable isa extensions for the base configuration. I would have to think more to remember what to put for the fast configuration. For the base, isa_ext is set to none at the start of the config_base function. I'm now trying on my armv7l box with the ARMv6 arch : diff --git a/build/pkgs/atlas/spkg-install b/build/pkgs/atlas/spkg-install index 2d2972e..f201c42 100755 --- a/build/pkgs/atlas/spkg-install +++ b/build/pkgs/atlas/spkg-install @@ -392,6 +392,9 @@ def configure_base(): elif conf['IA64?']: print('Base configuration on Itanium.') arch = 'IA64Itan' +elif conf['ARM?']: +print('Base configuration on ARM.') +arch = 'ARMv6' else: raise NotImplementedError('I don\'t know a base configuration for your cpu.') return (arch, isa_ext, thread_limit) If I put something similar in configure_fast, will I be able to test it looks good using : export SAGE_ATLAS_ARCH=fast ./sage -f atlas ? Snark on #sagemath -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: [ARM] sage 6.5
Yes, exactly! On Monday, February 23, 2015 at 4:16:40 PM UTC+1, Snark wrote: If I put something similar in configure_fast, will I be able to test it looks good using : export SAGE_ATLAS_ARCH=fast ./sage -f atlas -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: [ARM] sage 6.5
Le 23/02/2015 16:25, Volker Braun a écrit : Yes, exactly! On Monday, February 23, 2015 at 4:16:40 PM UTC+1, Snark wrote: If I put something similar in configure_fast, will I be able to test it looks good using : export SAGE_ATLAS_ARCH=fast ./sage -f atlas It's ticket #17843. And this time it looks like I managed to attach a branch without naming it help (or anything inappropriate). Snark on #sagemath -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: [ARM] sage 6.5
On Saturday, February 21, 2015 at 5:25:07 PM UTC+1, Volker Braun wrote: The atlas build script just aborts with SAGE_ATLAS_ARCH=base, nothing else to see here. Pointing to a specific location for the atlas library isn't going to be much use in a binary that we distribute. On Saturday, February 21, 2015 at 4:54:12 PM UTC+1, Snark wrote: Le 21/02/2015 14:56, Volker Braun a écrit : We have an ARM buildbot but it doesn't work: atlas install fails when SAGE_FAT_BINARY=yes is set. If you have an idea about suitable defaults then we could make it automatic *hint* ARMv7 for base? maybe ARMv6 so that raspberry pi's get supported. Not sure about fast, maybe ARMv7+NEON? Didn't I put some archdefs into our ATLAS tarball at some point? http://trac.sagemath.org/ticket/15615 Not sure what was exactly inside. -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: [ARM] sage 6.5
Le 21/02/2015 14:56, Volker Braun a écrit : We have an ARM buildbot but it doesn't work: atlas install fails when SAGE_FAT_BINARY=yes is set. If you have an idea about suitable defaults then we could make it automatic *hint* Is there a trac ticket or some such on the matter, with some kind of log I could have a look at ? I generally build my bdist with SAGE_ATLAS_LIB set to /usr/lib -- or else just atlas takes something a full day (I can't remember exactly). Snark on #sagemath -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
Re: [sage-devel] Re: [ARM] sage 6.5
The atlas build script just aborts with SAGE_ATLAS_ARCH=base, nothing else to see here. Pointing to a specific location for the atlas library isn't going to be much use in a binary that we distribute. On Saturday, February 21, 2015 at 4:54:12 PM UTC+1, Snark wrote: Le 21/02/2015 14:56, Volker Braun a écrit : We have an ARM buildbot but it doesn't work: atlas install fails when SAGE_FAT_BINARY=yes is set. If you have an idea about suitable defaults then we could make it automatic *hint* Is there a trac ticket or some such on the matter, with some kind of log I could have a look at ? I generally build my bdist with SAGE_ATLAS_LIB set to /usr/lib -- or else just atlas takes something a full day (I can't remember exactly). Snark on #sagemath -- You received this message because you are subscribed to the Google Groups sage-devel group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.