View Full Version : SuperPrime, a new benchmarking program
Xerox
10-21-2007, 10:59 AM
Hello all,
I'd like to present SuperPrime, a little benchmark I've programmed.
It calculs the prime numbers up to 500 billions and it fully supports multicore systems (up to 32 threads).
I'd like to use it mainly as a CPU benchmark, like SuperPi. But the problem of SuperPi is that it doesn't support multithreading, what makes him quite obsolete
(with the Core 2 Duo, Core 2 Quad and Phenom X4).
I wanted to know what you think about the technical aspect of my code, and its utility as a CPU benchmark.
To download it (+ manual in french):
- Windows (http://terrasse.et.filles.free.fr/modules/mydownloads/singlefile.php?cid=2&lid=23)
- GNU/Linux (64 bits program and 32/64 bits source code with makefile) (http://terrasse.et.filles.free.fr/modules/mydownloads/singlefile.php?cid=2&lid=22)
To do a performance test in order to compare the speed of your CPUs, do a test of 500000 iterations and post your complete time, your checksum, your OS and your CPU with frequency.
Results
RPGWiZaRD --------- 0h 0h 24s 437ms ----------- C2D @ 3,75GHz ------- Windows XP SP2
MikeB12 ------------- 0h 1m 20s 172ms ---------- C2Q @ 3,402GHz ------ Windows Vista 64bits
RubberDuck -------- 0h 1m 24s 391ms ---------- FX-55 --------------------- Windows XP SP2
Metric ---------------- 0h 1m 41s 625ms ---------- C2Q @ 3,6GHz --------- Windows XP SP2
Xerox ---------------- 0h 2m 34s 420ms ---------- A64 @ 2,5GHz --------- GNU/Linux AMD64
Salutations,
Xerox
Metric
10-21-2007, 09:49 PM
OS: Windows XP Professional SP2
CPU: Q6600 3.6GHz [9 x 400]
Checksum: B0AB0
Xerox
10-22-2007, 10:18 AM
Thanks for the time :)
But I think there's a problem...
Such a time isn't normal with a quad core.
Could you look at the Process Explorer while the test is running, please, I think the cores aren't used all time????
RubberDuck
10-22-2007, 12:18 PM
System Specs ( wifes rig )
Motherbaord: Asus A8V
Processor: AMD FX-55 Stock :rolleyes:
Memory: TWINX1024-3200XL 1GB Corsair @ 2-2-2-5
OS: Windows XP Professional SP2
Checksum: 80A00
http://img35.picoodle.com/img/img35/6/10/22/f_untitledm_0460863.png (http://www.picoodle.com/view.php?img=/6/10/22/f_untitledm_0460863.png&srv=img35)
I'll do my rig when I get her back runing:up:
Metric
10-22-2007, 02:54 PM
Thanks for the time :)
But I think there's a problem...
Such a time isn't normal with a quad core.
Could you look at the Process Explorer while the test is running, please, I think the cores aren't used all time????
Just ran it again and got a similar time (around 1:40). Opened Task Manager and my CPU usage never exceeded 75%. It seems you may have a problem with work distribution across multiple cores as my time is longer than a single core's (RubberDuck's).
Also I looked over your code and to improve times for calculating primes, you can decrease computing time by checking only to the square root of the number to be checked and check only the odd numbers :up:.
Xerox
10-23-2007, 09:35 AM
thanks for the results :)
Just ran it again and got a similar time (around 1:40). Opened Task Manager and my CPU usage never exceeded 75%. It seems you may have a problem with work distribution across multiple cores as my time is longer than a single core's (RubberDuck's).
I think it's a thread priority problem... but is it a windows problem or is my program faulty?
does anyone have a dual- or quad core on linux to see if linux gives a higher priority to my threads?
It's true that windows isn't the best system for multithreaded applications :/
Also I looked over your code and to improve times for calculating primes, you can decrease computing time by checking only to the square root of the number to be checked and check only the odd numbers :up:.
Hm, another guy had already told me to do so, but the problem is that I can't divide the work into threads, isn't it?
carmike692000
10-24-2007, 01:38 PM
Hahaha, wow, this is very interesting. In my C++ class we JUST completed a lab in which we had to write a function that would determine if a number is prime or not. So I'd have to rewrite it a little bit for it to take a certain input and find that number of primes, but not much.
We were supposed to start at 2 (to rule out negatives and then also 1, since it's not prime), then automatically check for two since it's the only even prime, then rule out all even numbers by dividing by two, then checking for 'primeness' up to the number's square root. I didn't think about using the square root, though. :(
KiD0M4N
10-24-2007, 01:41 PM
Lol... you also using the same name as a program i created last year....
http://forums.erodov.com/showthread.php?t=27
:P
RPGWiZaRD
10-24-2007, 03:09 PM
Nice benchmark, there's been a need of a program like this that scales with quads and above (for future).
My Result:
OS: Windows XP Professional 32bit SP2
CPU: Intel Core 2 Duo E6750 @ 3.75GHz (8x469)
Result: 0h 0m 24s 437ms
Checksum: 893D0
Appears to run great here. :D
MikeB12
10-24-2007, 03:19 PM
the pc is folding while it ran...
Vista 64bit
Q6600 3402mhz
http://img148.imageshack.us/img148/3964/32360762xo0.jpg
Metric
10-24-2007, 04:51 PM
Lol... you also using the same name as a program i created last year....
http://forums.erodov.com/showthread.php?t=27
:P
For comparison reasons, what is your SuperPrimes equivalent to the 500,000 test? I'm interested to see if it the function Xerox is using or if he can narrow it down to threading issues.
@Xerox:
I myself have been working on a multithreaded prime benchmark for a while (actually the exact same method too - distributing load across CPUs) The odd thing is I'm getting very different times in mine :shrug: (5,000,000 primes in 1.1 seconds).
I looked at your code a bit more this afternoon (multithread.c) but it looks like you're executing the join method for each thread. I think this maybe the issue for odd completion times, as even though you're running smaller prime calculations, each thread is waiting for the others to complete first(?). Shouldn't they run simultaneously rather than in serial?
Hope this helps, and good luck :up:
Xerox
10-25-2007, 08:01 AM
@ KID0M4N: I'm really sorry... Should I change the name?
@ RPGWizard: that's a great result: congratulation ^^
@ MikeB12: hm, it appears that there's really a problem with more than 2 cores...
@ Metric: what algorithm do you use tu calcule 5 million primes in 1 second????
The join functions have already bothered me, but what should I do? If I don't use them, the program ends without waiting for the threads to end (windows), or the thread are executed but in parallel, and the main program continues without waiting for the threads to end! and arrived at the end, it prints the execution time (-> 0s 0ms) and ends, without waiting for the threads, that aren't finished yet...
Metric
10-25-2007, 02:31 PM
@ Metric: what algorithm do you use tu calcule 5 million primes in 1 second????
The join functions have already bothered me, but what should I do? If I don't use them, the program ends without waiting for the threads to end (windows), or the thread are executed but in parallel, and the main program continues without waiting for the threads to end! and arrived at the end, it prints the execution time (-> 0s 0ms) and ends, without waiting for the threads, that aren't finished yet...
I wrote a modified version of the Sieve of Eratosthenes (http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes). Made-up a visual representation of what mine does to calculate primes. Just like yours, it takes the number of primes and divides it up for all cores. Main thread setsup a stopwatch for time and sets the ThreadsLeft to how many cores you have (1,2,4, etc). Each one runs separately and outputs a .txt file for each of the threads. The calculation subroutine has an 'if' statement at the end to see if the thread that is finishing is the last thread aka once ThreadsLeft is equal to 0. Once ThreadsLeft is 0, then all of the threads must have completed, stopwatch for time stops, and then it outputs the final time and a checksum.
Xerox
10-26-2007, 10:56 AM
hm, very interesting, thank you :)
I'll try to understand that and code it...
64dragon
10-26-2007, 09:10 PM
i ran it on my dual core, amd am2 x2 4200 at stock 2.2 and got much different values when running with affinity to core 0, 1 and both. so its running less than optimal on an amd dual core
screen shots
core 0
http://i37.photobucket.com/albums/e90/coldmm803/pc/superprimecore0.jpg
core 1
http://i37.photobucket.com/albums/e90/coldmm803/pc/superprimecore1.jpg
both cores
http://i37.photobucket.com/albums/e90/coldmm803/pc/superprimedualcore.jpg
Xerox
10-27-2007, 12:59 AM
hm, there's a problem with multithreading...
I'm working at the next version, I hope it will help.
@Metric: I've written this, what do you think?
oid SMPMain(void){
pthread_t pThread[CoreNumbers-1];
int count, ret;
struct sched_param ThreadParams[CoreNumbers - 1];
pthread_attr_t ThreadAttr;
printf("\nBeginning a multi-threaded test: %ld iterations\n", TotalIntNumbers);
while(TotalIntNumbers % CoreNumbers != 0) TotalIntNumbers ++;
if(CoreNumbers == 2){
for(count = 0; count < CoreNumbers; count++){
if(count == 0){
ThreadLimits[count][0] = 3;
ThreadLimits[count][1] = (TotalIntNumbers * 2) / 3;
}else{
ThreadLimits[count][0] = ThreadLimits[count-1][1] + 1;
ThreadLimits[count][1] = ((TotalIntNumbers * 2) * count) / (3 - count) ;
}
printf("Thread %d, limit 1: %ld, limit 2: %ld\n", count + 1, ThreadLimits[count][0], ThreadLimits[count][1]);
}
}else{
for(count = 0; count < CoreNumbers; count++){
if(count == 0){
ThreadLimits[count][0] = 3;
ThreadLimits[count][1] = TotalIntNumbers / CoreNumbers;
}else{
ThreadLimits[count][0] = ThreadLimits[count-1][1] + 1;
ThreadLimits[count][1] = (TotalIntNumbers * (count + 1))/ CoreNumbers;
}
printf("Thread %d, limit 1: %ld, limit 2: %ld\n", count + 1, ThreadLimits[count][0], ThreadLimits[count][1]);
}
}
printf("\rIteration %ld; ", (unsigned long)2);
fprintf(PNFile, "%ld\n", (unsigned long)2);
for(count = 0; count < CoreNumbers; count++){
if( ret = pthread_attr_init(&ThreadAttr) )
printf("Error initializing attributes to thread %d\n", count + 1);
if( ret = pthread_attr_setschedpolicy(&ThreadAttr, SCHED_RR) )
printf("Error setting Scheduling policy to thread %d\n", count + 1);
ThreadParams[count].sched_priority = - (2*count);
if( ret = pthread_attr_setschedparam(&ThreadAttr, &ThreadParams[count]) )
printf("Error setting Scheduling parameters to thread %d\n", count + 1);
if( ret = pthread_create(&pThread[count], &ThreadAttr, Thread, count) )
printf("Error creating thread %d\n", count + 1);
}
while(ThreadsLeft != 0){
;
}
}
void *Thread(int threadid){
register unsigned long GenThreadCount;
int ret;
for(GenThreadCount = ThreadLimits[threadid][0]; GenThreadCount <= ThreadLimits[threadid][1]; GenThreadCount+=2){
printf("\rIteration %ld; ", GenThreadCount);
if(Test(GenThreadCount) == 1){);
fprintf(PNFile, "%ld\n", GenThreadCount);
PositiveIterations++;
ret = sched_yield();
}
}
ThreadsLeft--;
}
I'll soon buy a litte X2, so I'll be able to test immediately if it runs well....
carmike692000
10-27-2007, 06:17 PM
Wow...I definitely don't recognize all of that. But I do...some...of it...
Xerox
10-28-2007, 07:12 AM
hm, I admit, my code isn't the best... :D
and without the rest of the program it's almost impossible to understand anything.
@Metric: the code I've given here doesn't work, the while() loop blocks the program...
How did or would you do it?
BNDMOD
10-28-2007, 07:41 AM
CPU: Q6600 B3 "ES" @ 3.0 ghz (334 X 9) - 1.23Vcore in BIOS
RAM: 2 X 1 GB DDR2-800 (4-4-4-12) @ DDR2-1111 (5-5-4-9) - 2.2 Vdimm en BIOS
OS: XP SP2 - UnTweak
http://img266.imageshack.us/img266/570/sshot1ph3.jpg
Metric
10-28-2007, 12:50 PM
hm, I admit, my code isn't the best... :D
and without the rest of the program it's almost impossible to understand anything.
@Metric: the code I've given here doesn't work, the while() loop blocks the program...
How did or would you do it?
I have something like this (Basic implementation):
public main()
{
//Get user input for the TotalCalculationSize (Amount of primes to calculate)
long WorkPerThread = TotalCalculationSize \ NumberOfProcessors;
int ThreadsRemaining = NumberofProcessors;
//Start clock here.
for (int i = 0; i < NumberOfProcessors; i++)
{
//Create new threads called WorkerThread, which executes the subroutine "CalcPrimes" on a separate thread.
thread WorkerThread;
WorkerThread.Start(i); //WorkerThread sends the parameter "i" to CalcPrimes
}
public CalcPrimes(long i)
{
for p = i * WorkPerThread to (i + 1) * WorkPerThread //i.e, WorkPerThread = 5000, then Thread 0 would do 0*5000 to (0+1)*5000, Thread 1 would do 1*(5000) to (1+1)*5000, etc...
{
IsPrime(p); //Calculate if p is prime or not
}
ThreadsRemaining--; //A thread has completed.
//Output any thread information here.
if ThreadsRemaining == 0 //Is this the last thread that is finishing up? If so...
{
//Stop clock.
//Show total calculation times and checksum.
}
}
RPGWiZaRD
10-28-2007, 01:44 PM
I had to give it a try, setting affinity to either core0 or 1 and got a result like this:
So yea multithreading ain't helping here either. :p
I wonder why my time's so low compared to these Kenstfield results too, over a minute faster. That's a bit weird IMO. :p:
64dragon
10-28-2007, 03:52 PM
I wonder why my time's so low compared to these Kenstfield results too. That's a bit weird IMO. :p:
i agree, my core 1 affinity was only 5 seconds slower than BND's time, i'm at stock (2.2) and was only 5 seconds off a Q6600 @ 3.0!!!
Xerox
10-31-2007, 01:48 PM
@Metric: I'll try to include this in my code and see how it runs...
The program has been updated, the new version can be downloaded at the same URL (-> post 1). I get much better results, even without Metric's code...
64dragon
10-31-2007, 04:52 PM
my times didnt get any better, the got worse. i didnt take screen shots but can re-run them if u want them
core 0: 1 min 56 sec
core 1: 1 min 50 sec
dual: 2 min 53 sec
Xerox
11-01-2007, 01:08 AM
f*ck...
ok. then i'll try with metric's solution and wait to have a dual core, it will help me to develop...
I tested my work computer while running a database, exchange, firefox, thunderbird, antivirus, firewall, antispyware (etc) in the background, which is a Prescott Celeron and it got better times than the guys with quad cores here. That's not possible if it was a multi-core bench scaling with system computing power. Somethings very wrong here. :)
If I look at the single core, dual core and quad core results, they're showing me its a single core bench.
64dragon
11-01-2007, 12:28 PM
i doubted KTE's claim and decided to run it on my p4 2.8 laptop and got the results below, included the specs as proof
http://i37.photobucket.com/albums/e90/coldmm803/random/laptopsuperprime.jpg
Xerox
11-01-2007, 12:52 PM
care, I think KTE has got a HT P4, so the program starts 2 threads.
your P4 isn't HT, so the program detecs only one core and runs a single-threaded test...
there are 2 problems, I think:
1) with 2 cores, a thread finishes a long time before the other one and for the rest of the test there's only one thread and the CPU is used at only 50%. I think I know how to avoid that...
2) the priority of the threads isn't set correctly. threads with a higher ID should have a higher priority; it appears that it doens't happen.
on windows I can't set priority attributes to more than 8 threads: if I try to, then the program tells that it couldn't... under linux no problem... :D
ok, nobody has got 8 cores here but that means that there is a deep problem by setting sheduling priority and as I do it as a hobby it's quite difficult to me because my knowledge is sporadic (I'm 15...)
as I've already told, I will be able to observe the threads' behaviour while running a test first when I get this Athlon X2... I think I should have it for Christmas :down:
64dragon
11-01-2007, 01:41 PM
I do it as a hobby it's quite difficult to me because my knowledge is sporadic (I'm 15...)
as I've already told, I will be able to observe the threads' behaviour while running a test first when I get this Athlon X2... I think I should have it for Christmas :down:
its cool, you have more knowledge in programing than i do. as for getting an x2, its already november
I have no HT.
It's a P4 Prescott Celeron 2.8GHz D0 running at 3360MHz/512MBx2 DDR400 2-3-3-6 1T
It's my old system that I sold to my work place and I use it there.
It's running an exchange database, firefox, antivirus, software firewall, spybot, iconoid, udesktop, thunderbird, msn, spyware blaster and so on in the background (about 35 processes). Stock Windows XP Pro 32-bit (no tweak)
I've just ran it now. This is what I get:
http://i222.photobucket.com/albums/dd28/KTE__/Prescott_Celeron/SuperPrime.png
Xerox
01-02-2008, 01:08 PM
ok guys,
a new version came out, with a GUI based on GTK+ and a performance improvement of 100%.
I hope multithreading will run better than before.
you can download it there: http://terrasse.et.filles.free.fr/modules/mydownloads/singlefile.php?cid=2&lid=23
all results that have been sent so far are invalided, sorry.
EDIT
I foud a problem in the method for calculating the numbers, and I fixed it:
14000% faster xD
and obviously, multithreading runs perfectly, at last!
you can always download it here: http://terrasse.et.filles.free.fr/modules/mydownloads/singlefile.php?cid=2&lid=23
be careful, you have to calculate 20 million iterations and not 500 000 as before...
64dragon
01-02-2008, 10:27 PM
good to see you back to it
29s 641ms
http://i37.photobucket.com/albums/e90/coldmm803/pc/superprime.jpg
maybe since your posting in a mostly English forum your link could be english...
Metric
01-03-2008, 04:07 PM
Q6600, 3.0GHz, Win XP 32-Bit.
Edit: Glad you're back working on this. The only real issue is load balancing across the cores, because with your current one (2.7), I load 100% for a couple seconds, then 75% to 50% to 25%, since each core finishes at different times because they Thread 1 only has to calculate small numbers, which take less iterations than, say, Thread 4 which has to analyze much larger numbers.
If you're interested, I can share my algorithm, which does 512,000,000 on my Q6600 in ~30 seconds.
momoceio
01-03-2008, 07:52 PM
maybe since your posting in a mostly English forum your link could be english...
Or you could translate it with google...
http://translate.google.com/translate?hl=en&u=http%3A%2F%2Fterrasse.et.filles.free.fr%2Fmodule s%2Fmydownloads%2Fsinglefile.php%3Fcid%3D2%26lid%3 D23
Simps
01-03-2008, 10:20 PM
8.360sec
20000000 (20 million)
C2Q 2.66GHz (266FSB)
Striker Extreme (680i)
DDR2 400Mhz 5-5-5-18-CR2
Win XP SP2 x86
http://img140.imageshack.us/img140/8844/imagemtd7.jpg
[]'s
Simps
Simps
01-03-2008, 10:25 PM
Double post!
Manicdan
01-04-2008, 02:56 PM
the one i download says enter 50mil to benchmark, then says it splits up 25m to each core and that its testing 20mil. with a 4400 x2 i got 1m 50s
Simps
01-05-2008, 01:15 AM
32.922sec
50000000 (50 million)
C2Q 2.66GHz (266FSB)
Striker Extreme (680i)
DDR2 400Mhz 5-5-5-18-CR2
Win XP SP2 x86
http://img180.imageshack.us/img180/2522/reip2.jpg
[]'s
Simps
Xerox
01-20-2008, 02:46 AM
OK sorry guys I've been off for a while...
So, as Manicdan has seen, the test is now of 50M iterations, because an overclocked Q9300 did 10s on the 20M test with some parallel tasks, so this test was not big enough...
@gmod: I'll try to have my own server for this, where I could write infos in 3 languages (french, english and german, as there are threads like this one in french and german forums :D )
@Metric:
I got my Athlon 64 X2 last week (+800MHz air vstock :cool: ), and now I'll be able to work better on the threads balancing.
With 2 threads, the first thread does 66% of the complete work, so the 2 threads finish almost together... But it's more difficult to divide work with 4 or more threads...
I already thought about a system: the finished threads could "ask" the other ones how many iterations they still have to do, and do a part of their work to increase total calculation time... the only problem is if threads want to access semoultaneously on a variable. but I could use mutexes...
Yes, I would be very pleased to compare your code with mine :)
@momoceio: I'll try to translate it on my own, shouldn't be too difficult... my father could help me on this, an you could always tell me if I do mistakes...
But I believe Google Translate is going to do more mistakes than I :p:
And naturally, thanks to all of you for your help!!!
EDIT
I uploaded a new version (2.8). the calculation time is reduced by 5%.
And as gmod had suggested, I wrote a little XHTML page:
http://terrasse.et.filles.free.fr/telechargement/xerox/SuperPrime.html
It is still only in French, but the translation might be finished this week....
Talonman
01-20-2008, 05:59 AM
I cant seem to download it.. its hard to find the correct link to actually start the download too. I want the Vista version.
Error when downloading...
This file is not for the site from where you came.
Merci d'envoyer un e-mail à l'administrateur du site web d'où vous êtes venus et de lui dire : Please send an e-mail to the administrator of the website where you have come and tell him:
PAS D'APPROPRIATION DE LIENS PROVENANTS D'AUTRES SITES !! NOT FOR OWNERSHIP OF LINKS PROVENANTS OTHER SITES! (LEECH) (LEECH)
Définition d'un Leecher : Quelqu'un qui est paresseux pour lier sur son propre serveur ou vole le dur travail fait par d'autres personnes Definition of a Leecher: Someone who is lazy to tie on their own server or steals the hard work done by others
Vous avez été enregistré . You have been saved.
Si la page ne se recharge pas automatiquement, merci de cliquer ici If the page does not automatically reload, please click here
Original text:
Ce fichier n'appartient pas au site d'où vous êtes venus.
Suggest a better translation
Xerox
02-10-2008, 10:34 AM
what's this :banana::banana::banana::banana:??
again: the page with all explanations on superprime, presently only in french, there: http://terrasse.et.filles.free.fr/telechargement/xerox/SuperPrime.html
to download the windows version: there: http://terrasse.et.filles.free.fr/modules/mydownloads/singlefile.php?cid=2&lid=23
click on that image: http://terrasse.et.filles.free.fr/modules/mydownloads/images/download.gif
and the same for linux, but at this address: http://terrasse.et.filles.free.fr/modules/mydownloads/singlefile.php?cid=2&lid=22
and normally, the windows version is compatible with every windows, from 98 to vista and even perhaps seven...
EDIT
a new version (2.9) is online!
I finally translated the explanation page into English!!
there it is: http://terrasse.et.filles.free.fr/telechargement/xerox/SuperPrime.html
if you see any error (and there are surely many!), please tell me!
to download the Windows version: http://terrasse.et.filles.free.fr/modules/mydownloads/singlefile.php?cid=2&lid=23
to download the Linux version: http://terrasse.et.filles.free.fr/modules/mydownloads/singlefile.php?cid=2&lid=22
(now with a 32 bits executable)
Metric
02-10-2008, 04:57 PM
Xerox, for load balancing, this might be of some use: http://primes.utm.edu/howmany.shtml#pnt
Xerox
02-11-2008, 09:45 AM
not bad, not bad :)
well, when I say better load ballancing, I mean that the cores are better used. with older versions, for 75% of calculation time all CPUs were used by 100%, then by 50%, etc. now, all cores are used by 100% for 100% of time...
Xerox
02-20-2008, 05:38 AM
I cant seem to download it.. its hard to find the correct link to actually start the download too. I want the Vista version.
Error when downloading...
This file is not for the site from where you came.
Merci d'envoyer un e-mail à l'administrateur du site web d'où vous êtes venus et de lui dire : Please send an e-mail to the administrator of the website where you have come and tell him:
PAS D'APPROPRIATION DE LIENS PROVENANTS D'AUTRES SITES !! NOT FOR OWNERSHIP OF LINKS PROVENANTS OTHER SITES! (LEECH) (LEECH)
Définition d'un Leecher : Quelqu'un qui est paresseux pour lier sur son propre serveur ou vole le dur travail fait par d'autres personnes Definition of a Leecher: Someone who is lazy to tie on their own server or steals the hard work done by others
Vous avez été enregistré . You have been saved.
Si la page ne se recharge pas automatiquement, merci de cliquer ici If the page does not automatically reload, please click here
Original text:
Ce fichier n'appartient pas au site d'où vous êtes venus.
Suggest a better translation
I know where it comes from. You have simply to click on the link to download it, if you try to open a new tab to download it it wouldn't start. you tried to open a tab, didn't you?
and for those who haven't discovered the new version (2.9):
to download the Windows version: http://terrasse.et.filles.free.fr/modules/mydownloads/singlefile.php?cid=2&lid=23
to download the Linux version: http://terrasse.et.filles.free.fr/modules/mydownloads/singlefile.php?cid=2&lid=22
(now with a 32 bits executable)
vBulletin® v3.7.0, Copyright ©2000-2008, Jelsoft Enterprises Ltd.