On Sat, Jan 17, 2009 at 10:09 AM, Jason Grout <[email protected]> wrote: > > mabshoff wrote: >> >> >> On Jan 17, 9:02 am, "[email protected]" <[email protected]> wrote: >> >> Hi, >> >>> OK, I have a new lab with 25 dualcore 2GHz 64bit AMD Athlons. >>> However, I only have a 32bit OS installed (Knoppix DVD which is like >>> debian with lots of apps including R and Octave). >>> >>> Question 1: >>> With the setup given above, I should install the 32bit Sage tarball, >>> right? >> >> Yes, the 64 bit build won't run on a 32 bit OS. >> >>> Question 2: >>> Also, will I benefit from upgrading to a 64bit OS (ubuntu or gentoo?) >>> first, then installing the 64bit Sage tarball? >> >> It depends on how much RAM you need to run your computations, i.e. if >> the machines have less than 3 or 4GB RAM the benefit of more RAM >> address space due to 64 bit isn't there. 32 bit code is smaller and in >> many cases runs about as fast as 64 bit code. There are exceptions in >> either direction, so if you told us what you wanted to do we could >> give you some more pointed advice. > > > Carl Witty on IRC seemed to indicate that you would see big speedups in > some things, like arithmetic (I guess using the 64-bit operations and > registers with GMP, maybe?). Can you comment on that?
Here are identical builds of sage running on identical hardware one 32-bit Debian and the other 64-bit Debian. Both are running on vmware images on our 128GB RAM 24-core Xeon boxes. I chose two somewhat random commands that are 100% cpu bound (no io, no pexpect, etc.). On 64-bit one command is twice as fast as the other, and the other command is twice as slow! This clearly illustrates Michael's remark above. The performance profile of 64-bit versus 32-bit with everything else being equal is quite different. There is a lot more that changes than just "amount of accessible RAM". Generally speaking 64-bit should be better. In practice, it might not be -- e.g., below in the example where 64-bit is slower than 32-bit, this is likely partly because of us programmers having developed the code on a 32-bit machine and not properly tuned or optimized for 64-bit yet. For better or worse, speed of code on 32/64-bit can actually even have a lot to do with the implementation environment, programming style, psychology, etc., of the programmer who wrote that code. That said, all things being equal, if I have to chose between 32 and 64-bit when installing Linux, I would always chose 64-bit these days, unless I want to use Java, in which case 32-bit host OS's seem better supported. wst...@debian64:/space/wstein/farm/sage-3.2.3$ ./sage ---------------------------------------------------------------------- | Sage Version 3.2.3, Release Date: 2009-01-05 | | Type notebook() for the GUI, and license() for information. | ---------------------------------------------------------------------- Setting permissions of DOT_SAGE directory so only you can read and write it. sage: time n = factorial(10^6) CPU times: user 1.11 s, sys: 0.13 s, total: 1.24 s Wall time: 1.24 s sage: a = random_matrix(ZZ,200) sage: time d = a.det() CPU times: user 0.76 s, sys: 0.02 s, total: 0.78 s Wall time: 0.78 s wst...@debian32:/space/wstein/farm/sage-3.2.3$ ./sage ---------------------------------------------------------------------- | Sage Version 3.2.3, Release Date: 2009-01-05 | | Type notebook() for the GUI, and license() for information. | ---------------------------------------------------------------------- Setting permissions of DOT_SAGE directory so only you can read and write it. sage: time n = factorial(10^6) CPU times: user 2.12 s, sys: 0.19 s, total: 2.31 s Wall time: 2.31 s sage: a = random_matrix(ZZ,200) # changing matrix barely changes time sage: time d = a.det() CPU times: user 0.30 s, sys: 0.02 s, total: 0.31 s Wall time: 0.32 s --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---
