Message boards : Number crunching : Versions for x86_64 platforms avaible ?
Message board moderation

To post messages, you must log in.

Previous · 1 · 2 · 3 · Next

AuthorMessage
River~~

Send message
Joined: 13 Jul 05
Posts: 456
Credit: 75,142
RAC: 0
Message 15076 - Posted: 12 Oct 2006, 6:23:27 UTC - in response to Message 15070.  
Last modified: 12 Oct 2006, 6:28:11 UTC

This topic seems to get asked over and over again .. the "64-bitness" refers to integer functions [...] The thing about Sixtrack is the important parts of it aren't ran on the integer (ALU) [...]


As you say this cones up frequently, but your point is only three-quarters right. You correctly identify 3 things that are not helped by 64 bit processing.

However, as I understand it, a 64 bit machine still gives you faster fetching of program code (8 bytes at a time instead of 4) and faster fetch and store of those douple precision floats that sixtrack so loves. In other words it is the wider bus between RAM and cache that makes the most useful difference to sixtrack.

What I am not clear on, is if you have a 64 bit machine running 32 bit code in backwards compatibility mode, then presumably the hardware can still give you those advantages anyway -- any hardware geniuses care to comment? If so, then you get the bonus even when running the 32 bit client. If not, then you'd need the 64 bit client to benefit.

At a guess I'd put money on around 5% to 10% performance boost on a 64 bit sixtrack, but I don't know if anyone has actually doen the test to prove me right.

Or wrong as the case may be ;-)

River~~


ID: 15076 · Report as offensive     Reply Quote
ebahapo
Avatar

Send message
Joined: 18 Sep 04
Posts: 30
Credit: 104,162
RAC: 0
Message 15081 - Posted: 12 Oct 2006, 16:19:53 UTC - in response to Message 15070.  
Last modified: 12 Oct 2006, 16:21:18 UTC

This topic seems to get asked over and over again .. the "64-bitness" refers to integer functions...


AMD64's "64-bitness" is just part of its story. It provides twice the number of both integer and floating-point registers. And it defaults to the more efficient 16 SSE registers, instead of the cumbersome 8-entry x87 stack.

SPEC CPU2000 uses sixtrack as a benchmark and the evidence that its faster as an AMD64 application than as a x86 application is that everyone has submitted peak results for 64-bit OS'es running it as an AMD64 application (see this), even if one or another benchmark was run as a x86 application in such submissions.

HTH
ID: 15081 · Report as offensive     Reply Quote
ebahapo
Avatar

Send message
Joined: 18 Sep 04
Posts: 30
Credit: 104,162
RAC: 0
Message 15082 - Posted: 12 Oct 2006, 16:30:17 UTC - in response to Message 15076.  
Last modified: 12 Oct 2006, 16:31:36 UTC

What I am not clear on, is if you have a 64 bit machine running 32 bit code in backwards compatibility mode, then presumably the hardware can still give you those advantages anyway -- any hardware geniuses care to comment?

Processors supporting AMD64 are newer ones and they have improvements that benefit most applications regardless of their "bitness".

However, AMD64 is more than a mere change in the "bitness", it's a new extension to the x86 instruction set, making it more powerful and flexible. And in order to take advantage of this extended x86 instruction set, known as AMD64, programs have to be recompiled for it.

HTH

ID: 15082 · Report as offensive     Reply Quote
River~~

Send message
Joined: 13 Jul 05
Posts: 456
Credit: 75,142
RAC: 0
Message 15083 - Posted: 12 Oct 2006, 16:50:10 UTC - in response to Message 15082.  

...

HTH


it does. Thanks
R~~
ID: 15083 · Report as offensive     Reply Quote
Travis DJ

Send message
Joined: 29 Sep 04
Posts: 196
Credit: 207,040
RAC: 0
Message 15104 - Posted: 15 Oct 2006, 17:28:06 UTC - in response to Message 15076.  

However, as I understand it, a 64 bit machine still gives you faster fetching of program code (8 bytes at a time instead of 4) and faster fetch and store of those douple precision floats that sixtrack so loves. In other words it is the wider bus between RAM and cache that makes the most useful difference to sixtrack.


I'd put my money on it being a key architectural enhancement between generations of CPUs. A wider bus would be software independent. Just like Intel's Macro-Op fusion in Core2 products: The tech is bit & software independent and allows certain instructions to be paired and executed simultaneously in 32 or 64 mode. Pentium M didn't have that tech.


ID: 15104 · Report as offensive     Reply Quote
ebahapo
Avatar

Send message
Joined: 18 Sep 04
Posts: 30
Credit: 104,162
RAC: 0
Message 15109 - Posted: 16 Oct 2006, 14:30:57 UTC - in response to Message 15104.  

I'd put my money on it being a key architectural enhancement between generations of CPUs. A wider bus would be software independent.

Only neither AMD nor Intel processors which support AMD64 have a wider memory interface or fetch any more bytes at a time than their predecessors.
ID: 15109 · Report as offensive     Reply Quote
Travis DJ

Send message
Joined: 29 Sep 04
Posts: 196
Credit: 207,040
RAC: 0
Message 15113 - Posted: 16 Oct 2006, 20:06:38 UTC

Good point. And unfortunately it appears from what I've read that sixtrack wouldn't be well suited for GPU (Stream) processing either - for the same reason why it doesn't use MMX or SSEx.

The memory interface on the latest RD600 ATI chips is 512-bit on GDDR4 @2GHZ - the amount of lookups it can do in a second is astounding. nVidia will be behind once those chips end up on the shelf to buy (384-bit memory interface) .. for a few months at least. Competition is splendid. :)
ID: 15113 · Report as offensive     Reply Quote
River~~

Send message
Joined: 13 Jul 05
Posts: 456
Credit: 75,142
RAC: 0
Message 15128 - Posted: 18 Oct 2006, 13:05:48 UTC - in response to Message 15109.  

Only neither AMD nor Intel processors which support AMD64 have a wider memory interface or fetch any more bytes at a time than their predecessors.

Showing my ignorance here, but:

Presumably the immediate predecessors already fetch 64 bits at a time then? Including doing this for integers and for fetching prog code?

R~~
ID: 15128 · Report as offensive     Reply Quote
ebahapo
Avatar

Send message
Joined: 18 Sep 04
Posts: 30
Credit: 104,162
RAC: 0
Message 15130 - Posted: 18 Oct 2006, 14:51:03 UTC - in response to Message 15128.  

Presumably the immediate predecessors already fetch 64 bits at a time then? Including doing this for integers and for fetching prog code?

Modern processors fetch chunks at a time, whether it started as a byte or more. The chunk size is that of the cache line, typically 64 or 128 bytes.

Previous and current models have a 64 or 128-byte memory interface, the wider being better performance-wise.

HTH

ID: 15130 · Report as offensive     Reply Quote
ebahapo
Avatar

Send message
Joined: 18 Sep 04
Posts: 30
Credit: 104,162
RAC: 0
Message 15466 - Posted: 15 Nov 2006, 15:37:05 UTC - in response to Message 15037.  

So far, two projects have added support for x86-64: SETI sends the x86 application and SIMAP, a true x86-64 application. Would you consider supporting the platform x86_64-pc-linux-gnu or x86_64-unknown-linux-gnu similarly?

Chess960 now supports AMD64 with a native Linux application too...

HashClash now supports AMD64 with a 32-bit Linux application too...

HashClash now supports AMD64 on Windows with a 32-bit application...

Guess what? Leiden Classical now supports AMD64 on Linux with a 32-bit application. ;-)

Yay! Malaria now supports AMD64 on Linux with a 32-bit application too.

ID: 15466 · Report as offensive     Reply Quote
ebahapo
Avatar

Send message
Joined: 18 Sep 04
Posts: 30
Credit: 104,162
RAC: 0
Message 16150 - Posted: 18 Jan 2007, 21:26:38 UTC - in response to Message 15466.  

So far, two projects have added support for x86-64: SETI sends the x86 application and SIMAP, a true x86-64 application. Would you consider supporting the platform x86_64-pc-linux-gnu or x86_64-unknown-linux-gnu similarly?

Chess960 now supports AMD64 with a native Linux application too...

HashClash now supports AMD64 with a 32-bit Linux application too...

HashClash now supports AMD64 on Windows with a 32-bit application...

Guess what? Leiden Classical now supports AMD64 on Linux with a 32-bit application. ;-)

Yay! Malaria now supports AMD64 on Linux with a 32-bit application too.

ABC ß now provides a 64-bit application for AMD64 on Linux yielding double the performance.

ID: 16150 · Report as offensive     Reply Quote
PovAddict
Avatar

Send message
Joined: 14 Jul 05
Posts: 275
Credit: 49,291
RAC: 0
Message 16151 - Posted: 18 Jan 2007, 21:34:44 UTC - in response to Message 16150.  

ABC now provides a 64-bit application for AMD64 on Linux yielding double the performance.

Thanks for the spam without removing all previous quotes >:|

But seriously, double performance? That's great!

I don't quite agree with projects having a 64-bit platform with the 32-bit application, there should be instead logic on the core client (and/or server) to use 32-bit platform automatically if 64-bit is not found.
ID: 16151 · Report as offensive     Reply Quote
ebahapo
Avatar

Send message
Joined: 18 Sep 04
Posts: 30
Credit: 104,162
RAC: 0
Message 16153 - Posted: 18 Jan 2007, 22:07:57 UTC - in response to Message 16151.  
Last modified: 18 Jan 2007, 22:13:52 UTC

But seriously, double performance? That's great!

I don't quite agree with projects having a 64-bit platform with the 32-bit application, there should be instead logic on the core client (and/or server) to use 32-bit platform automatically if 64-bit is not found.

Yep, double, but triple the performance has also been observed (see this and this).

I agree that the client or the server should automatically send the 32-bit application and I suggested it to the BOINC developers a long time ago (see this). Until then, it's up to the developers to either port the application to 64 bits or have the 32-bit application be sent to such clients instead.

ID: 16153 · Report as offensive     Reply Quote
Profile LiborA

Send message
Joined: 8 Dec 05
Posts: 1
Credit: 6,691
RAC: 0
Message 16163 - Posted: 20 Jan 2007, 11:47:13 UTC - in response to Message 8928.  
Last modified: 20 Jan 2007, 11:48:46 UTC

In short, not for LHC@Home. Sixtrack does not stand to benefit from "64-bit" technologies at this time. For reasons why, see this thread.


Yes, thats true but a lot of people have 64b core cient a their amount will be boost. If these people can move into LHC they must use app_info.xml now.

Some projects (see Augistine's list) use native 32b application for platform x86_64. Whats the problem duplicate linux application and setup servers for x86_64-unknown-linux-gnu and x86_64-pc-linux-gnu paltform support?

ID: 16163 · Report as offensive     Reply Quote
ebahapo
Avatar

Send message
Joined: 18 Sep 04
Posts: 30
Credit: 104,162
RAC: 0
Message 16179 - Posted: 23 Jan 2007, 20:13:39 UTC - in response to Message 16150.  

So far, two projects have added support for x86-64: SETI sends the x86 application and SIMAP, a true x86-64 application. Would you consider supporting the platform x86_64-pc-linux-gnu or x86_64-unknown-linux-gnu similarly?

Chess960 now supports AMD64 with a native Linux application too...

HashClash now supports AMD64 with a 32-bit Linux application too...

HashClash now supports AMD64 on Windows with a 32-bit application...

Guess what? Leiden Classical now supports AMD64 on Linux with a 32-bit application. ;-)

Yay! Malaria now supports AMD64 on Linux with a 32-bit application too.

ABC ß now provides a 64-bit application for AMD64 on Linux yielding double the performance.

Docking just added support for AMD64 Linux clients through a 32-bit application for the time being.
ID: 16179 · Report as offensive     Reply Quote
Travis DJ

Send message
Joined: 29 Sep 04
Posts: 196
Credit: 207,040
RAC: 0
Message 16213 - Posted: 3 Feb 2007, 21:39:30 UTC

It's good that projects who can benefit from it are. The only benefit that I still see for sixtrack is if it were a 64-bit binary it would only make it "native" so to speak for 64-bit OSes. Performance in sixtrack is dependent on floating point ops and those are way beyond 64-bit calculations.

I'd venture to guess perhaps a -2% - +2% change in speed for sixtrack as 64-bit. Any change would be minor. However, if a reliable way for sixtrack to use SSE instrucitons were to be found, there could be significant speed increases. Oh well.. another battered topic. :)

ID: 16213 · Report as offensive     Reply Quote
ebahapo
Avatar

Send message
Joined: 18 Sep 04
Posts: 30
Credit: 104,162
RAC: 0
Message 16214 - Posted: 3 Feb 2007, 21:50:50 UTC - in response to Message 16213.  

It's good that projects who can benefit from it are. The only benefit that I still see for sixtrack is if it were a 64-bit binary it would only make it "native" so to speak for 64-bit OSes. Performance in sixtrack is dependent on floating point ops and those are way beyond 64-bit calculations.

There's more to x86-64 than 64-bit intergers. There are many other improvements that offer potential for improved performance of several applications.
I'd venture to guess perhaps a -2% - +2% change in speed for sixtrack as 64-bit. Any change would be minor.

sixtrack is used in the SPEC2000 suite and submissions made by Intel point to an improvement of 5% using the 64-bit compiler over using the same 32-bit compiler.

To put this figure in perspective, typically a 3% improvement is the same as upgrading a processor to the next higher speed grade. It'd be as though LHC gained processors almost 2 speed grades better! ;-)

HTH
ID: 16214 · Report as offensive     Reply Quote
Profile Alex

Send message
Joined: 2 Sep 04
Posts: 378
Credit: 10,765
RAC: 0
Message 16216 - Posted: 4 Feb 2007, 8:47:47 UTC

There's been several discussions on the differences between floating point results between machines.

http://frs.web.cern.ch/frs/report/computer_error.pdf
Basically, even with floating point processors which meet the iee754 spec, you can get different results, losing 5 decimal points of precision in only 1000 turns of the simulation. (see page 7 of the pdf)


another good thread was http://lhcathome.cern.ch/forum_thread.php?id=908
Which discussed homogeneous redundancy.


I'm not the LHC Alex. Just a number cruncher like everyone else here.
ID: 16216 · Report as offensive     Reply Quote
ebahapo
Avatar

Send message
Joined: 18 Sep 04
Posts: 30
Credit: 104,162
RAC: 0
Message 16251 - Posted: 6 Feb 2007, 15:45:33 UTC - in response to Message 16179.  

So far, two projects have added support for x86-64: SETI sends the x86 application and SIMAP, a true x86-64 application. Would you consider supporting the platform x86_64-pc-linux-gnu or x86_64-unknown-linux-gnu similarly?

Chess960 now supports AMD64 with a native Linux application too...

HashClash now supports AMD64 with a 32-bit Linux application too...

HashClash now supports AMD64 on Windows with a 32-bit application...

Guess what? Leiden Classical now supports AMD64 on Linux with a 32-bit application. ;-)

Yay! Malaria now supports AMD64 on Linux with a 32-bit application too.

ABC ß now provides a 64-bit application for AMD64 on Linux yielding double the performance.

Docking just added support for AMD64 Linux clients through a 32-bit application for the time being.

RieselSieve is yet another project supporting AMD64 Linux clients by sending the 32-bit application.

ID: 16251 · Report as offensive     Reply Quote
ebahapo
Avatar

Send message
Joined: 18 Sep 04
Posts: 30
Credit: 104,162
RAC: 0
Message 16265 - Posted: 6 Feb 2007, 21:02:50 UTC - in response to Message 16251.  
Last modified: 6 Feb 2007, 21:12:59 UTC

So far, two projects have added support for x86-64: SETI sends the x86 application and SIMAP, a true x86-64 application. Would you consider supporting the platform x86_64-pc-linux-gnu or x86_64-unknown-linux-gnu similarly?

Chess960 now supports AMD64 with a native Linux application too...

HashClash now supports AMD64 with a 32-bit Linux application too...

HashClash now supports AMD64 on Windows with a 32-bit application...

Guess what? Leiden Classical now supports AMD64 on Linux with a 32-bit application. ;-)

Yay! Malaria now supports AMD64 on Linux with a 32-bit application too.

ABC ß now provides a 64-bit application for AMD64 on Linux yielding double the performance.

Docking just added support for AMD64 Linux clients through a 32-bit application for the time being.

RieselSieve is yet another project supporting AMD64 Linux clients by sending the 32-bit application.

RieselSieve supports AMD64 Windows clients by sending the 32-bit application too.


ID: 16265 · Report as offensive     Reply Quote
Previous · 1 · 2 · 3 · Next

Message boards : Number crunching : Versions for x86_64 platforms avaible ?


©2024 CERN