PrimeGrid
Please visit donation page to help the project cover running costs for this month

Join PrimeGrid

Returning Participants

Community

Leader Boards

Results

Other

drummers-lowrise

Advanced search

Message boards : 321 Prime Search : 64 bit apps

Author Message
Profile Slicker [TopGun]
Send message
Joined: 14 Jan 09
Posts: 7
ID: 34220
Credit: 102,667,613
RAC: 0
321 LLR Silver: Earned 100,000 credits (271,777)PPS LLR Silver: Earned 100,000 credits (134,875)SoB LLR Bronze: Earned 10,000 credits (18,060)321 Sieve (suspended) Ruby: Earned 2,000,000 credits (3,076,378)Cullen/Woodall Sieve (suspended) Silver: Earned 100,000 credits (173,068)PPS Sieve Emerald: Earned 50,000,000 credits (93,490,952)Sierpinski (ESP/PSP/SoB) Sieve (suspended) Silver: Earned 100,000 credits (126,298)TRP Sieve (suspended) Gold: Earned 500,000 credits (599,250)AP 26/27 Ruby: Earned 2,000,000 credits (2,552,831)GFN Ruby: Earned 2,000,000 credits (2,218,101)
Message 22234 - Posted: 30 Mar 2010 | 23:21:38 UTC

For many of the apps including 321 LLR, there are only 32-bit apps. Is that because it uses GMP and GMP doesn't play well with Win64? If so, have you checked out MPIR? It has 64-bit support for Windows and uses all the same methods as GMP. MPIR is slightly slower than GMP for Win32, but the 64 bit version of MPIR is much faster than running the 32-bit GMP on a 64 bit platform.

Profile ktoProject donor
Send message
Joined: 13 Jan 09
Posts: 24
ID: 34164
Credit: 41,029,714
RAC: 0
321 LLR Gold: Earned 500,000 credits (529,427)Cullen LLR Gold: Earned 500,000 credits (883,066)PPS LLR Jade: Earned 10,000,000 credits (13,056,717)PSP LLR Silver: Earned 100,000 credits (255,519)SoB LLR Bronze: Earned 10,000 credits (35,178)SR5 LLR Ruby: Earned 2,000,000 credits (4,672,518)SGS LLR Turquoise: Earned 5,000,000 credits (6,548,374)TRP LLR Ruby: Earned 2,000,000 credits (3,469,550)Woodall LLR Gold: Earned 500,000 credits (544,030)321 Sieve (suspended) Silver: Earned 100,000 credits (131,413)Cullen/Woodall Sieve (suspended) Amethyst: Earned 1,000,000 credits (1,552,206)PPS Sieve Ruby: Earned 2,000,000 credits (3,713,853)Sierpinski (ESP/PSP/SoB) Sieve (suspended) Bronze: Earned 10,000 credits (47,510)TRP Sieve (suspended) Gold: Earned 500,000 credits (572,878)AP 26/27 Silver: Earned 100,000 credits (340,983)GFN Ruby: Earned 2,000,000 credits (4,583,588)PSA Bronze: Earned 10,000 credits (93,283)
Message 25284 - Posted: 1 Aug 2010 | 14:32:05 UTC

Hey, that's a good question. I'm going to guess the answer, maybe someone can confirm/deny my guess.

Being a C++ developer myself (not for PG, though), a 64-bit port is pretty straightforward. So a couple years back I gathered as much of the LLR source code I could find. What I found was that porting LLR to 64-bit wasn't possible.

There were two problems:

1) I couldn't obtain all the source. There were a couple static (archive) libraries in the projects for which I could not find source. By itself, this prevents the port..

2) There is a LOT of assembly code in the project. This may or may not be an issue when porting to 64-bit. But it makes porting to other non-x86 platforms a near impossibility.

If all the LLR source was available - in C/C++ - (and I wish it was!) - porting it to 64-bit would be straightforward. It would also open the door to porting LLR to non-x86 platforms.

Does anyone have all the LLR source in C/C++ form?

Michael GoetzProject donor
Volunteer moderator
Project scientist
Avatar
Send message
Joined: 21 Jan 10
Posts: 9639
ID: 53948
Credit: 107,043,469
RAC: 98,445
321 LLR Amethyst: Earned 1,000,000 credits (1,169,719)Cullen LLR Amethyst: Earned 1,000,000 credits (1,157,331)ESP LLR Amethyst: Earned 1,000,000 credits (1,179,211)Generalized Cullen/Woodall LLR Amethyst: Earned 1,000,000 credits (1,330,821)PPS LLR Amethyst: Earned 1,000,000 credits (1,254,873)PSP LLR Ruby: Earned 2,000,000 credits (2,632,269)SoB LLR Ruby: Earned 2,000,000 credits (2,130,789)SR5 LLR Turquoise: Earned 5,000,000 credits (6,048,315)SGS LLR Amethyst: Earned 1,000,000 credits (1,680,461)TRP LLR Amethyst: Earned 1,000,000 credits (1,183,026)Woodall LLR Amethyst: Earned 1,000,000 credits (1,145,077)321 Sieve (suspended) Silver: Earned 100,000 credits (200,576)Cullen/Woodall Sieve (suspended) Ruby: Earned 2,000,000 credits (4,170,256)Generalized Cullen/Woodall Sieve Ruby: Earned 2,000,000 credits (2,085,723)PPS Sieve Jade: Earned 10,000,000 credits (18,175,834)Sierpinski (ESP/PSP/SoB) Sieve (suspended) Amethyst: Earned 1,000,000 credits (1,035,522)TRP Sieve (suspended) Ruby: Earned 2,000,000 credits (2,051,121)AP 26/27 Turquoise: Earned 5,000,000 credits (5,881,239)GFN Sapphire: Earned 20,000,000 credits (42,502,542)PSA Jade: Earned 10,000,000 credits (10,028,791)
Message 25285 - Posted: 1 Aug 2010 | 15:34:10 UTC - in response to Message 25284.

It's been stated that the 64 bit LLR doesn't have any performance benefits over the 32 bit verision, so there's no reason to support and maintain a separate build.
____________

Please do not PM me with support questions. They will usually go unanswered. Ask on the forums instead. Thank you!

Profile ktoProject donor
Send message
Joined: 13 Jan 09
Posts: 24
ID: 34164
Credit: 41,029,714
RAC: 0
321 LLR Gold: Earned 500,000 credits (529,427)Cullen LLR Gold: Earned 500,000 credits (883,066)PPS LLR Jade: Earned 10,000,000 credits (13,056,717)PSP LLR Silver: Earned 100,000 credits (255,519)SoB LLR Bronze: Earned 10,000 credits (35,178)SR5 LLR Ruby: Earned 2,000,000 credits (4,672,518)SGS LLR Turquoise: Earned 5,000,000 credits (6,548,374)TRP LLR Ruby: Earned 2,000,000 credits (3,469,550)Woodall LLR Gold: Earned 500,000 credits (544,030)321 Sieve (suspended) Silver: Earned 100,000 credits (131,413)Cullen/Woodall Sieve (suspended) Amethyst: Earned 1,000,000 credits (1,552,206)PPS Sieve Ruby: Earned 2,000,000 credits (3,713,853)Sierpinski (ESP/PSP/SoB) Sieve (suspended) Bronze: Earned 10,000 credits (47,510)TRP Sieve (suspended) Gold: Earned 500,000 credits (572,878)AP 26/27 Silver: Earned 100,000 credits (340,983)GFN Ruby: Earned 2,000,000 credits (4,583,588)PSA Bronze: Earned 10,000 credits (93,283)
Message 25287 - Posted: 1 Aug 2010 | 19:10:53 UTC

It may be true that 64-bit integer math isn't faster than 32-bit... but I'd like to test it for myself.

As long as LLR is largely written in x86 assembly, it will remain restricted to x86 procs. (I thought the PS3 AP26 port was genius - the PS3 is a hard cruncher.)

And as long as there are static (archive) libraries in the LLR project for which we have no source, there's no chance we could try 64-bit or other cpu ports.

While it is probably the case someone spent countless months tuning the x86 assembly code inside the LLR, the result is that it blocks out anyone else from playing with the code - and it blocks any chance of using a non-x86 cpu.

Even if the C/C++ version was 15% slower than the assembly version, it'd be worth opening the C/C++ version into the programming community - so it could be played with, tuned, etc. Compilers do amazing jobs optimizing these days - and CPU's are offering faster, more specialized instructions all the time. Not to mention that it would be reasonable to consider porting a C/C++ based LLR to CUDA... something I bet everyone on PG would like to see.

Seventh SerenityProject donor
Volunteer tester
Avatar
Send message
Joined: 18 Oct 05
Posts: 30
ID: 1184
Credit: 105,671
RAC: 0
PSA Bronze: Earned 10,000 credits (85,802)
Message 25289 - Posted: 1 Aug 2010 | 21:45:42 UTC - in response to Message 25285.

It's been stated that the 64 bit LLR doesn't have any performance benefits over the 32 bit verision, so there's no reason to support and maintain a separate build.

That seems strange, considering Genefer gets a speed boost from it - although limited to a certain range.

rogue
Volunteer developer
Avatar
Send message
Joined: 8 Sep 07
Posts: 1146
ID: 12001
Credit: 18,565,548
RAC: 0
PPS LLR Bronze: Earned 10,000 credits (31,229)PSA Jade: Earned 10,000,000 credits (18,533,435)
Message 25290 - Posted: 1 Aug 2010 | 22:09:48 UTC - in response to Message 25289.

It's been stated that the 64 bit LLR doesn't have any performance benefits over the 32 bit verision, so there's no reason to support and maintain a separate build.

That seems strange, considering Genefer gets a speed boost from it - although limited to a certain range.


64-bitness is only helpful for integer operations, not FPU operations. The 64-bit version of genefer gets it boost from a lot of assembly code, some of which relies on 64-bit registers in the CPU.

Post to thread

Message boards : 321 Prime Search : 64 bit apps

[Return to PrimeGrid main page]
Copyright © 2005 - 2017 Rytis Slatkevičius (contact) and PrimeGrid community. Server load 0.82, 1.31, 1.37
Generated 22 Nov 2017 | 18:09:18 UTC