2009/12/28 William Stein <wst...@gmail.com>:
> On Sun, Dec 27, 2009 at 4:05 PM, Dr David Kirkby <drkir...@gmail.com> wrote:
>>
>>
>> On Dec 27, 8:16 pm, mhampton <hampto...@gmail.com> wrote:
>>> Seems about 8 times slower at some basic tests I have compared to
>>> sagenb.
>
> What basic tests?     Big integer arithmetic  -- which relies on MPIR
> -- is often an order of magnitude slower, because of lack of good
> assembly optimization for Sparc.  It probably *could* be much faster,
> if somebody were to invest in supporting a developer to write code to
> make it fast.

That would help, but the basic problem is those Sun T2+ (Niagra)
processors are designed for a *very* dfferent task to what they are
being used for. They are not designed for applications where single
threaded peformance is important. They are designed for applications
like busy web servers and databases, where there are many processes
all competing for the CPU. In that case, the 128 threads will be put
to good use.

Most of the time, we are only using a very small fraction of the
capabilities of that machine .

http://groups.google.co.uk/group/comp.unix.solaris/browse_thread/thread/7041af61bab6cfd/718b4fb647765119?hl=en&ie=UTF-8&q=Single-threaded+T5240+performance&pli=1

shows an example of where a single-threaded integer task on the T5240
took 17.69 seconds, but that parallel version on the same machine took
0.32 seconds -  a gain of 55x.

> David -- I don't get how you can have a 30x slowdown with building
> unless you're building in /home instead of /scratch, so that the true
> slowdown is the crappy filesystem.

It is certainly was not that. My home directory on 't2', is on a local
file system, as I've long since moved the mountpoint on 't2' to not be
/home.

The only explanation I can think of, is that *possibly* I stopped the
build, then restarted it, as I based this on a build that I already
had on 't2'. I will recheck that later, but I very much doubt I did.

But the fact the Sun T5240 was a bit slower than the HP C3600 did not
surprise me, as I often senced the HP C3600 was faster at building
Sage than 't2', even though I had not done any tests.

>> Another issue is that the build is 32-bit, not 64-bit. For reasons I
>> could never understand, Large bits of Sage add -m64 on OS X if SAGE64
>> is set to "yes". But many will not on Solaris. So trying a 64-bit
>> build is not simple.
>
> Michael Abshoff ported Sage to 32-bit Solaris in May 2009 as the first
> step to a general port.
> He quit before even starting the 64-bit port.

It just seems strange to have the -m64 only included if SAGE64 is
'yes' and the system is 'Darwin'. It would have been better to have
simply added -m64 on any platform when the environment variable SAGE64
was set to 'yes'.

Surely the *only* reason for setting the environment variable SAGE64
to "yes" would be when one wanted to build 64-bit. So why further make
the restriction the operating system had to be Darwin (OS X)?

I think the best way to apporach this is to use the script testcc.sh in

http://trac.sagemath.org/sage_trac/ticket/7505

(awaiting review)

then have in sage-env something like the following (untested, as
writing on a windows laptop)

C_COMPILER=`testcc.sh`
if [ x$SAGE64 = "xyes" ] ; then
  if [ xC_COMPILER = "xIBM_on_AIX " ] ; then
     CFLAGS = "$CFLAGS -<64 bit option for IBM compiler>"
   elif [ x$C_COMILER = "xGNU" ] ; then
     CFLAGS = "$CFLAGS - m64 "
  elif [ xC_COMPILER = "xHP_on_HP-UX" ] ; then
     CFLAGS = "$CFLAGS -<64-bit option for HP C compiiler> "
  elif [ x$C_COMPILER = "xSun_Studio" ] ; then
     CFLAGS = "$CFLAGS - m64 "
etc etc
  fi
fi

That way, the appropiate 64-bit flag is set correctly for any compiler
once in sage-env, and never needs setting in spkg-install files.

Dave

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to