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

Toggle Menu

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: 103,135,391
RAC: 0
321 LLR Silver: Earned 100,000 credits (271,777)PPS LLR Silver: Earned 100,000 credits (156,322)SoB LLR Bronze: Earned 10,000 credits (18,060)321 Sieve (suspended) Ruby: Earned 2,000,000 credits (3,076,378)Cullen/Woodall Sieve Silver: Earned 100,000 credits (173,068)PPS Sieve Emerald: Earned 50,000,000 credits (93,814,568)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,670,078)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: 27
ID: 34164
Credit: 41,469,365
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,221,964)PSP LLR Silver: Earned 100,000 credits (255,519)SoB LLR Silver: Earned 100,000 credits (291,859)SR5 LLR Ruby: Earned 2,000,000 credits (4,672,518)SGS LLR Turquoise: Earned 5,000,000 credits (6,566,096)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 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?

Profile Michael GoetzProject donor
Volunteer moderator
Project administrator
Avatar
Send message
Joined: 21 Jan 10
Posts: 14037
ID: 53948
Credit: 477,496,533
RAC: 306,422
The "Shut up already!" badge:  This loud mouth has mansplained on the forums over 10 thousand times!  Sheesh!!!Discovered the World's First GFN-19 prime!!!Discovered 2 mega primesFound 1 prime in the 2018 Tour de PrimesFound 1 prime in the 2019 Tour de PrimesFound 1 prime in the 2020 Tour de PrimesFound 2 primes in the 2021 Tour de PrimesFound 2 primes in the 2022 Tour de PrimesFound 1 mega prime in the 2022 Tour de PrimesFound 1 prime in the 2022 Tour de Primes Mountain StageFound 1 prime in the 2023 Tour de Primes321 LLR Turquoise: Earned 5,000,000 credits (6,949,793)Cullen LLR Turquoise: Earned 5,000,000 credits (5,513,946)ESP LLR Turquoise: Earned 5,000,000 credits (7,150,009)Generalized Cullen/Woodall LLR Turquoise: Earned 5,000,000 credits (5,094,541)PPS LLR Sapphire: Earned 20,000,000 credits (24,049,916)PSP LLR Jade: Earned 10,000,000 credits (11,203,327)SoB LLR Sapphire: Earned 20,000,000 credits (36,601,737)SR5 LLR Sapphire: Earned 20,000,000 credits (22,821,256)SGS LLR Turquoise: Earned 5,000,000 credits (6,400,918)TRP LLR Turquoise: Earned 5,000,000 credits (6,308,522)Woodall LLR Turquoise: Earned 5,000,000 credits (6,390,624)321 Sieve (suspended) Jade: Earned 10,000,000 credits (10,061,196)Cullen/Woodall Sieve Emerald: Earned 50,000,000 credits (51,764,198)Generalized Cullen/Woodall Sieve (suspended) Turquoise: Earned 5,000,000 credits (5,059,304)PPS Sieve Sapphire: Earned 20,000,000 credits (22,888,492)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 Sapphire: Earned 20,000,000 credits (23,803,858)GFN Double Bronze: Earned 100,000,000 credits (120,616,519)WW (retired) Emerald: Earned 50,000,000 credits (88,580,000)PSA Jade: Earned 10,000,000 credits (13,196,884)
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.
____________
My lucky number is 75898524288+1

Profile ktoProject donor
Send message
Joined: 13 Jan 09
Posts: 27
ID: 34164
Credit: 41,469,365
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,221,964)PSP LLR Silver: Earned 100,000 credits (255,519)SoB LLR Silver: Earned 100,000 credits (291,859)SR5 LLR Ruby: Earned 2,000,000 credits (4,672,518)SGS LLR Turquoise: Earned 5,000,000 credits (6,566,096)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 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
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: 1259
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.

Message boards : 321 Prime Search : 64 bit apps

[Return to PrimeGrid main page]
DNS Powered by DNSEXIT.COM
Copyright © 2005 - 2023 Rytis Slatkevičius (contact) and PrimeGrid community. Server load 3.56, 2.44, 2.31
Generated 24 Sep 2023 | 10:38:03 UTC