mersenneforum.org llrpi : a full portable version of LLR
 Register FAQ Search Today's Posts Mark Forums Read

 2011-01-29, 07:28 #1 Jean Penné     May 2004 FRANCE 10001111112 Posts 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
 2011-01-29, 08:59 #2 Karl M Johnson     Mar 2010 41110 Posts Couldnt find a windows binary in the link provided ? A fix is needed, perhaps ?
 2011-01-29, 10:21 #3 nuggetprime     Mar 2007 Austria 4568 Posts wait a moment! Let's benchmark this against phrot!
 2011-01-29, 11:39 #4 nuggetprime     Mar 2007 Austria 2×151 Posts 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
2011-01-29, 12:27   #5
Jean Penné

May 2004
FRANCE

52×23 Posts
Portable llrpi

Quote:
 Originally Posted by Jean Penné 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

 2011-01-29, 14:34 #6 rogue     "Mark" Apr 2003 Between here and the 3×7×13×23 Posts 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
 2011-01-29, 17:26 #7 nuggetprime     Mar 2007 Austria 4568 Posts AFAIK Jean Penne wrote a GWNUM compatible fft/reduction library all by himself.
2011-01-29, 17:47   #8
Jean Penné

May 2004
FRANCE

23F16 Posts

Quote:
 Originally Posted by nuggetprime 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...

 2011-01-29, 21:44 #9 rogue     "Mark" Apr 2003 Between here and the 142078 Posts 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.

 Similar Threads Thread Thread Starter Forum Replies Last Post Jean Penné Software 16 2012-04-08 13:43 ixfd64 Software 3 2010-10-07 14:18 jasong Sierpinski/Riesel Base 5 8 2007-03-13 00:31 jasong Software 4 2007-03-12 07:15 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