mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   GPU Computing (https://www.mersenneforum.org/forumdisplay.php?f=92)
-   -   mfaktc: a CUDA program for Mersenne prefactoring (https://www.mersenneforum.org/showthread.php?t=12827)

TheJudger 2013-01-04 22:47

Hi James,

the simplified answer:
In 64bit mode the memory adresses are 64bit while in 32bit mode the memory adresses are 32bit in size. So in 64bit each load or store of memory adresses needs twice than bandwidth, when you need to modidy adresses (e.g. increment, decrement) you have to deal with 64 bit numbers. So 64bit is slower than 32bit. [B]But[/B] for x86 vs. x86_64 CPU you have additional registers available in 64bit mode, registers are the fastest memory in a cpu, much faster than caches or memory. For the sieve in mfaktc those extra registers make it faster.
There is a project for Linux where you can use additional register introduced in x86_64 while using 32bit adresses ([url]http://en.wikipedia.org/wiki/X32_ABI[/url]), but to be honest: I didn't try.

The Nvidia GPU have the same number of registers accessible in 32 and 64 bit mode thus you have to pay the penalty for bigger adresses in 64 bit numbers whit no benefit except the fact that you can use more memory (which is not needed for mfaktc).

Oliver

James Heinrich 2013-01-04 22:54

OK, I suspected something like that, but always much better to get the detailed answer from the author rather than users guessing -- thanks! :smile:

swl551 2013-01-04 23:17

[QUOTE]The Nvidia GPU have the same number of registers accessible in 32 and 64 bit mode thus you have to pay the penalty for bigger adresses in 64 bit numbers whit no benefit except the fact that you can use more memory (which is not needed for mfaktc).[/QUOTE]

Oliver, what is the real-world effect on performance for 32 vs 64. Is it great enough to motivate a move back to 32bit for hardcore workers?

James Heinrich 2013-01-04 23:26

[QUOTE=swl551;323680]Oliver, what is the real-world effect on performance for 32 vs 64. Is it great enough to motivate a move back to 32bit for hardcore workers?[/QUOTE]I would assume that the recommendation would be:

64-bit = CPU sieving (CC 1.x or TF below 2[sup]64[/sup])
32-bit = everyone else

TheJudger 2013-01-04 23:31

[QUOTE=swl551;323680]Oliver, what is the real-world effect on performance for 32 vs 64. Is it great enough to motivate a move back to 32bit for hardcore workers?[/QUOTE]

For Windows: as usuall I'll include both, 32 and 64bit, in one download.
For Linux: I haven't decided yet, perhaps just a 64bit binary (how many people are using my Linux binaries?)

On my GTX 470 the improvement is a little bit below 1%.

Oliver

James Heinrich 2013-01-04 23:41

[QUOTE=TheJudger;323683]On my GTX 470 the improvement is a little bit below 1%.[/QUOTE]Same on my GTX 570 (32-bit = [COLOR="Green"]420.34[/COLOR] GHd/d, 64-bit = [COLOR="Indigo"]416.68[/COLOR] GHd/d) on [FONT="Courier New"]Factor=50000017,72,73[/FONT]

swl551 2013-01-04 23:42

[QUOTE=James Heinrich;323685]Same on my GTX 570 (32-bit = [COLOR=Green]420.34[/COLOR] GHd/d, 64-bit = [COLOR=Indigo]416.68[/COLOR] GHd/d) on [FONT=Courier New]Factor=50000017,72,73[/FONT][/QUOTE]
Thank you.

ckdo 2013-01-05 00:35

[QUOTE=TheJudger;323683]On my GTX 470 the improvement is a little bit below 1%.[/QUOTE]

Ain't gonna make me downgrade to a 32 bit distro.

TObject 2013-01-05 02:36

Will the save file format be compatible with 0.19?

I imagine not. Is it possible for somebody to post instructions on how to continue a run mid level? It would be nice to have a set of instructions, instead of every one of us winging our own and potentially compromising results in the process.

Otherwise, a recommendation to finish current started assignments before upgrading is called for.

Enjoying your product a great deal. Thank you.

Dubslow 2013-01-05 02:49

[QUOTE=TObject;323708]Will the save file format be compatible with 0.19?
[/QUOTE]

Actually, I doubt the GPU Sieve alone would cause a save file format change. The data stored in the save files is between-class data, so no sieving data is saved anywhere. Thus, a change in the sieving process wouldn't necessitate a change in save file format.

Of course, there could be other features/changes that could change the format, so who knows? (Well, TheJudger does. :smile:)

LaurV 2013-01-05 09:56

[QUOTE=Dubslow;323712]Actually, I doubt the GPU Sieve alone would cause a save file format change. The data stored in the save files is between-class data, so no sieving data is saved anywhere. Thus, a change in the sieving process wouldn't necessitate a change in save file format.

Of course, there could be other features/changes that could change the format, so who knows? (Well, TheJudger does. :smile:)[/QUOTE]
Checkpoint files include version number therefore different checksum. You may be able to trick the new version into believing the old checkpoints, if you modify the file (which is not difficult to do by hand). But generally assignments are very fast. Finish them with the old one, start new with the new one.


All times are UTC. The time now is 23:16.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.