![]() |
![]() |
#1 |
"Jason Goatcher"
Mar 2005
DB116 Posts |
![]()
This may sound nutty, but I´ve been led to believe that´s it´s possible to do sieving on the Playstation Portable.
Is this possible? And if so, could someone help me compile a binary? |
![]() |
![]() |
![]() |
#2 | |
Mar 2003
New Zealand
48516 Posts |
![]() Quote:
If you can install Linux on the machine itself then just run `make' on the source, that should produce a working binary, though without hand-coded assembler it will run at about half its potential speed. |
|
![]() |
![]() |
![]() |
#3 | |
"Jason Goatcher"
Mar 2005
1101101100012 Posts |
![]() Quote:
|
|
![]() |
![]() |
![]() |
#4 |
Dec 2006
3×11 Posts |
![]()
why don't you try it first? do you even have and linux psp, or do you just wanna know?
cheers ![]() |
![]() |
![]() |
![]() |
#5 |
"Jason Goatcher"
Mar 2005
350510 Posts |
![]()
This is what I get when I type make:
Code:
$ make gcc -O2 -DNDEBUG -c -o srsieve.o srsieve.c gcc -O2 -DNDEBUG -c -o arithmetic32.o arithmetic32.c gcc -O2 -DNDEBUG -c -o arithmetic64.o arithmetic64.c gcc -O2 -DNDEBUG -c -o bitmap.o bitmap.c gcc -O2 -DNDEBUG -c -o bsgs.o bsgs.c gcc -O2 -DNDEBUG -c -o clock.o clock.c gcc -O2 -DNDEBUG -c -o events.o events.c gcc -O2 -DNDEBUG -c -o factors.o factors.c gcc -O2 -DNDEBUG -c -o files.o files.c gcc -O2 -DNDEBUG -c -o global.o global.c gcc -O2 -DNDEBUG -c -o hashtable.o hashtable.c gcc -O2 -DNDEBUG -c -o primes.o primes.c gcc -O2 -DNDEBUG -c -o sequences.o sequences.c gcc -O2 -DNDEBUG -c -o subseq.o subseq.c gcc -O2 -DNDEBUG -c -o util.o util.c gcc -s srsieve.o arithmetic32.o arithmetic64.o bitmap.o bsgs.o clock.o events.o factors.o files.o global.o hashtable.o primes.o sequences.o subseq.o util.o -l m -o srsieve arithmetic64.o:arithmetic64.c:(.text+0xccd): undefined reference to `_sqrtl' arithmetic64.o:arithmetic64.c:(.text+0xcdc): undefined reference to `_sqrtl' bsgs.o:bsgs.c:(.text+0x296): undefined reference to `_sqrtl' collect2: ld returned 1 exit status make: *** [srsieve] Error 1 JasonG@Jason-comp /temp $ |
![]() |
![]() |
![]() |
#6 |
"Jason Goatcher"
Mar 2005
5·701 Posts |
![]()
It might NOT be a Linux psp. Preparing the computer to compile files took about 3 hours, though most of that time was taken up by running a script made specifically for compiling programs for the PSP.
|
![]() |
![]() |
![]() |
#7 | |
Mar 2003
New Zealand
13×89 Posts |
![]() Quote:
You could try running `make CFLAGS=-ffast-math' to try to get GCC to use the built-in version of sqrtl() instead of the library version. Otherwise it is probably safe to replace each occurance of `sqrtl' with `sqrt' in bsgs.c and arithmetic64.c provided none of your sequences k*b^n+c have k or |c| greater than 2^52. edit: BTW it would be a good idea to add -Wall to the CFLAGS too. Run `make CFLAGS=-Wall' or `make CFLAGS="-Wall -ffast-math"' to do this. Last fiddled with by geoff on 2007-03-12 at 03:42 |
|
![]() |
![]() |
![]() |
#8 |
"Jason Goatcher"
Mar 2005
5·701 Posts |
![]()
also, could someone show me how to make it work for a specific base? I've been able to build srsieve, but not sr5sieve.
|
![]() |
![]() |
![]() |
#9 | |
Mar 2003
New Zealand
13×89 Posts |
![]() Quote:
By default the base is 5. To compile for base 2, edit sr5sieve.h and change the line `#define BASE 5' to `#define BASE 2'. The executable will be called sr5sieve whatever base was set, so best to rename it immediately to avoid confusion :-) sr5sieve doesn't use the sqrtl() function, so hopefully no need for further editing. |
|
![]() |
![]() |
![]() |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
mprime and mfakto on Playstation 4 | 0PolarBearsHere | Hardware | 2 | 2015-12-15 17:29 |
Prime95 on Playstation Portable | jasong | Software | 4 | 2007-03-12 07:15 |
Sieving on Playstation 3 | jasong | Factoring | 2 | 2007-01-02 00:38 |
Playstation 3 as cruncher discussion. | jasong | Hardware | 1 | 2006-09-09 13:48 |
Is GIMPS program portable? | Chris | Software | 5 | 2005-04-17 18:25 |