mersenneforum.org  

Go Back   mersenneforum.org > Great Internet Mersenne Prime Search > Software

Reply
 
Thread Tools
Old 2010-10-19, 22:44   #1
ixfd64
Bemusing Prompter
 
ixfd64's Avatar
 
"Danny"
Dec 2002
California

2·1,171 Posts
Default suggestion: separation of libraries

For those unaware, the size of the version 26.x binary is about 25 MB (~4 MB compressed) in size, compared to just below 5 MB (~1 MB compressed) for 25.x. According to George, this is due to Prime95 supporting more FFT sizes and new optimized code for different microarchitectures. In today's standards, 25 MB is hardly anything.

However, the smaller size of 25.x allowed users to easily install Prime95 using a floppy disk. Of course, everyone (well, almost everyone) uses USB flash drives these days, but it would still be nice to be able to keep the Prime95 file size below a few MB.

Therefore, users should be able to choose what libraries to download. The libraries would be stored in the /lib folder. Possible libraries would be:

all.lib - contains code for all microarchitectures
ge.lib - generic FFT code (from version 25)

amd-lg.lib - legacy AMD microarchitectures (K6 and earlier)
amd-k8.lib - AMD K8
amd-k9.lib - AMD K9
amd-k10.lib - AMD K10
amd-fu.lib - AMD Fusion (future)

int-lg.lib - legacy Intel microarchitectures (P6 and earlier)
int-mb.lib - Intel Atom and other mobile microarchitectures
int-nb.lib - NetBurst
int-nh.lib - Nehalem
int-sb.lib - Sandy Bridge (future)
int-hw.lib - Haswell (future)

Of course, libraries for GPU code would also be available:

mfaktc.lib - based on Oliver's code (CUDA TF)
cuda-ll.lib - based on msft's code (CUDA LL tests)
etc.

Last fiddled with by ixfd64 on 2010-10-19 at 22:45
ixfd64 is offline   Reply With Quote
Old 2011-01-19, 14:01   #2
James Heinrich
 
James Heinrich's Avatar
 
"James Heinrich"
May 2004
ex-Northern Ontario

3·13·83 Posts
Default

I like it, but I'd also suggest having the default client download as the be-all installer that contains everything, examines the system and installs the appropriate 32/64-bit client and appropriate libraries based on detected hardware. Optionally, a full install from the same installer could copy all libraries for the user to later pick-and-choose to copy to another machine.
James Heinrich is offline   Reply With Quote
Old 2011-01-19, 14:25   #3
ATH
Einyen
 
ATH's Avatar
 
Dec 2003
Denmark

1011101111112 Posts
Default

The compressed size is only 3.7 Mb which even if someone still has a dialup modem only would take 15-30min (I remember getting 10-15 Mb/hour at best back then).

And do you think anyone is using floppydisc to move Prime95 to different computers now? If someone did, they could split it up over just 3 floppydiscs using any compression software. I had games spanning 20+ floppydiscs just before I got CD drives.

I think it would be just be another source of confusion and errors for minimal or no gain.

Last fiddled with by ATH on 2011-01-19 at 14:29
ATH is offline   Reply With Quote
Old 2011-01-19, 15:36   #4
Ralf Recker
 
Ralf Recker's Avatar
 
Oct 2010

191 Posts
Default

It's possible to recompress the archives* with 7z and transport them on a single old 1.44MB floppy disk (less than 900KB with standard compression - add a few K for a self extracting archive).

*With the exception of the recompressed source archive: It's size is 5.1 MB (standard compression, 3.5 MB with maximum compression -mx9). A little bit smaller than the 32.3 MB .zip file...

Last fiddled with by Ralf Recker on 2011-01-19 at 16:03 Reason: replaced binaries with archives and added data for source264.zip
Ralf Recker is offline   Reply With Quote
Old 2011-01-19, 17:11   #5
ixfd64
Bemusing Prompter
 
ixfd64's Avatar
 
"Danny"
Dec 2002
California

1001001001102 Posts
Default

Another idea would be to have Prime95 detect what hardware the user is using and automatically download the libraries.

Last fiddled with by ixfd64 on 2011-01-19 at 17:11
ixfd64 is offline   Reply With Quote
Old 2011-01-20, 03:34   #6
vsuite
 
Jan 2010

11100102 Posts
Default

I agree with the idea of separate libraries to reduce the size of prime95. Version 26.x runs much slower on my Celeron than 25.x, which I suspect is largely due to the much larger exe size.
vsuite is offline   Reply With Quote
Old 2011-01-20, 03:37   #7
axn
 
axn's Avatar
 
Jun 2003

484110 Posts
Default

Quote:
Originally Posted by vsuite View Post
I agree with the idea of separate libraries to reduce the size of prime95. Version 26.x runs much slower on my Celeron than 25.x, which I suspect is largely due to the much larger exe size.
No. George omitted a lot of P4-optimized FFTs (> 3072K?) from v26.
axn is offline   Reply With Quote
Old 2011-01-20, 05:33   #8
ixfd64
Bemusing Prompter
 
ixfd64's Avatar
 
"Danny"
Dec 2002
California

2×1,171 Posts
Default

Since the Prime95 source code is publicly available, it's entirely possible to add the FFT optimization code back.

There are two problems, however:

1. Very few end users would know how to do something like this.
2. The public source code does not include the checksum-generating routines. As such, any user-compiled version of Prime95 will be mark as "untrusted."

Maybe someone can create a third-party patch that adds the P4 optimizations back to 26.x?
ixfd64 is offline   Reply With Quote
Old 2011-01-20, 15:18   #9
axn
 
axn's Avatar
 
Jun 2003

484110 Posts
Default

Quote:
Originally Posted by ixfd64 View Post
Maybe someone can create a third-party patch that adds the P4 optimizations back to 26.x?
Isn't that called v25?
axn is offline   Reply With Quote
Old 2011-01-20, 18:04   #10
ixfd64
Bemusing Prompter
 
ixfd64's Avatar
 
"Danny"
Dec 2002
California

2×1,171 Posts
Default

Yes, but 25.11 still has quite a few bugs, mainly the infamous P-1 segfault crash.

George has recommended that P4 users switch to double-checking when exponents go beyond the 3072k FFT range. However, this may not be the best choice for computers that are only on for a few hours a day.
ixfd64 is offline   Reply With Quote
Old 2011-01-20, 23:02   #11
Prime95
P90 years forever!
 
Prime95's Avatar
 
Aug 2002
Yeehaw, FL

11100011111102 Posts
Default

Quote:
Originally Posted by ixfd64 View Post
George has recommended that P4 users switch to double-checking when exponents go beyond the 3072k FFT range.
That recommendation is for Northwood P4's only. There are P4 optimized FFTs up to at least 4096K if you have 1MB of L2 cache.
Prime95 is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Separation of Church and State rogue Soap Box 39 2011-04-16 21:20
Separation of GPU contributions cheesehead Data 6 2010-08-24 23:21
Interested in C/C++ libraries for factoring PythonPower Factoring 27 2009-05-28 17:08
Just a suggestion... bearnol Miscellaneous Math 0 2006-04-23 07:50
Large Integer Libraries andi314 Programming 18 2004-06-21 22:37

All times are UTC. The time now is 15:26.

Sat Jan 16 15:26:30 UTC 2021 up 44 days, 11:37, 0 users, load averages: 1.59, 1.48, 1.72

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

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.