Re: [sage-devel] Re: [ARM] sage 6.5

2015-02-23 Thread Volker Braun
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

2015-02-23 Thread Julien Puydt

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

2015-02-23 Thread Julien Puydt

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

2015-02-23 Thread Volker Braun
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

2015-02-23 Thread Julien Puydt

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

2015-02-23 Thread Julien Puydt

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

2015-02-23 Thread Julien Puydt



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

2015-02-23 Thread Julien Puydt



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

2015-02-23 Thread Julien Puydt

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

2015-02-23 Thread Julien Puydt



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

2015-02-23 Thread Volker Braun
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

2015-02-23 Thread Julien Puydt



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

2015-02-23 Thread Jean-Pierre Flori


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

2015-02-21 Thread Julien Puydt

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

2015-02-21 Thread Volker Braun
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.