mersenneforum.org  

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

Reply
 
Thread Tools
Old 2011-01-29, 07:28   #1
Jean Penné
 
Jean Penné's Avatar
 
May 2004
FRANCE

10001111112 Posts
Default llrpi : a full portable version of LLR

Hi All,

I just released llrpi Version 3.8.0, a full portable version of LLR 3.8.4
It uses a full portable adaptation of George Woltman's gwnum library.

You may dowload the source and the x86 binaries from my development directory :

http://jpenne.free.fr/Development/llrpi380devsrc.zip is the compressed source directory.
http://jpenne.free.fr/Development/llrpi380devsrc.zip is the Windows (console) executable.
http://jpenne.free.fr/Development/llrpi380devlinux.zip is the Linux one.
http://jpenne.free.fr/Development/llrpi380devslinux.zip is the static Linux one.

Indeed, this program is much slower than LLR 3.8.4 when run on x86 platforms, but be not disappointed! George's assembler code is so optimized that I think it could hardly be surpassed on these machines...
But I think that this work can help for several other tasks :

- It allows to verify positive results on non-x86 machines.
- It is a first attempt that can be improved, for example by using other available FFT libraries.
- It would not be too difficult (I hope) to implement it on new hardwares such as GPU's, and I think it could help CUDA developpers.

Happy new year, and Best Regards,
Jean
Jean Penné is offline   Reply With Quote
Old 2011-01-29, 08:59   #2
Karl M Johnson
 
Karl M Johnson's Avatar
 
Mar 2010

41110 Posts
Default

Couldnt find a windows binary in the link provided ?
A fix is needed, perhaps ?
Karl M Johnson is offline   Reply With Quote
Old 2011-01-29, 10:21   #3
nuggetprime
 
nuggetprime's Avatar
 
Mar 2007
Austria

4568 Posts
Default

wait a moment!
Let's benchmark this against phrot!
nuggetprime is offline   Reply With Quote
Old 2011-01-29, 11:39   #4
nuggetprime
 
nuggetprime's Avatar
 
Mar 2007
Austria

2×151 Posts
Default

compiled fine,but speed is not that impressive:
First results on a P4 3.2 GHZ:
phrot number,small k:
Phrot 0.7.2:
Code:
Input 31*2^93168+1 is prime.[0m. (e=0.02416 (0.0457397~3.21914e-16@0.000) t=75.98s)
LLRPI:
Code:
31*2^93168+1 is prime!  Time : 140.176 sec.
non-base-2 number:
Phrot 0.7.2:
Code:
Input 47*830^5354-1 is PRP.[0m. (e=0.00821 (0.0192892~3.3426e-16@0.000) t=22.12s)
LLRPI:
Code:
47*830^5354-1 is base 3-Strong Fermat PRP! (2 more test(s))  Time : 139.969 sec.
Altough it's much slower than the just-as-portable phrot,it has the possibility of doing deterministic tests on k*b^n+/-1 and Riesel numbers.

Last fiddled with by nuggetprime on 2011-01-29 at 11:39
nuggetprime is offline   Reply With Quote
Old 2011-01-29, 12:27   #5
Jean Penné
 
Jean Penné's Avatar
 
May 2004
FRANCE

52×23 Posts
Default Portable llrpi

Quote:
Originally Posted by Jean Penné View Post
Hi All,

I just released llrpi Version 3.8.0, a full portable version of LLR 3.8.4
It uses a full portable adaptation of George Woltman's gwnum library.

You may dowload the source and the x86 binaries from my development directory :

http://jpenne.free.fr/Development/llrpi380devsrc.zip is the compressed source directory.
http://jpenne.free.fr/Development/llrpi380dev.zip is the Windows (console) executable.
http://jpenne.free.fr/Development/llrpi380devlinux.zip is the Linux one.
http://jpenne.free.fr/Development/llrpi380devslinux.zip is the static Linux one.

Indeed, this program is much slower than LLR 3.8.4 when run on x86 platforms, but be not disappointed! George's assembler code is so optimized that I think it could hardly be surpassed on these machines...
But I think that this work can help for several other tasks :

- It allows to verify positive results on non-x86 machines.
- It is a first attempt that can be improved, for example by using other available FFT libraries.
- It would not be too difficult (I hope) to implement it on new hardwares such as GPU's, and I think it could help CUDA developpers.

Happy new year, and Best Regards,
Jean
Here is the fixed link ; sorry for the copy/paste error...
Jean
Jean Penné is offline   Reply With Quote
Old 2011-01-29, 14:34   #6
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

3×7×13×23 Posts
Default

This is good news. Now non-X86 users can do primality tests on all k*b^n+/-1 numbers. I'll have to d/l and try it out on PPC in PRPNet.

BTW, which FFT library does it use? YEAFFT? DJFFT? FFTW? Something else?

Last fiddled with by rogue on 2011-01-29 at 14:36
rogue is offline   Reply With Quote
Old 2011-01-29, 17:26   #7
nuggetprime
 
nuggetprime's Avatar
 
Mar 2007
Austria

4568 Posts
Default

AFAIK Jean Penne wrote a GWNUM compatible fft/reduction library all by himself.
nuggetprime is offline   Reply With Quote
Old 2011-01-29, 17:47   #8
Jean Penné
 
Jean Penné's Avatar
 
May 2004
FRANCE

23F16 Posts
Default

Quote:
Originally Posted by nuggetprime View Post
AFAIK Jean Penne wrote a GWNUM compatible fft/reduction library all by himself.
Not exactly ; I never wrote any FFT code.
Here, I wrote squaring / multiplication, normalization and modular reduction codes.

In this first attempt, I am using Takuya OOURA's FFT code contained in the file "fftsg.c". The main drawback of this code is that it requires power of two FFT lengths... I will use FFTW for the next release, and also I wish to generalize my IBDWT and Zero padded codes to base != two numbers, so I will have still some work to do...
Jean Penné is offline   Reply With Quote
Old 2011-01-29, 21:44   #9
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

142078 Posts
Default

I just built it. I have one concern and one area for improvement. The concern is with the macro for INFINITY. It is being redefined. I recommend renaming the macro to eliminate confusion.

The area for improvement would be in inormalize and rnormalize. It should be possible to unroll these loops and gain about 10% or more speed. I had done something similar in phrot and got a nice boost in speed. Note that unrolling is probably more beneficial on RISC architectures than non-RISC architectures as RISC architectures tend to have more FP registers to play with.
rogue is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
llrp, a portable version of LLR using FFTW Jean Penné Software 16 2012-04-08 13:43
idea: a portable version of Prime95 ixfd64 Software 3 2010-10-07 14:18
sieving on Playstation Portable jasong Sierpinski/Riesel Base 5 8 2007-03-13 00:31
Prime95 on Playstation Portable jasong Software 4 2007-03-12 07:15
Is GIMPS program portable? Chris Software 5 2005-04-17 18:25

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

Wed Apr 14 14:26:54 UTC 2021 up 6 days, 9:07, 0 users, load averages: 1.64, 1.65, 1.70

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.