Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Community > Team MacNN > Altivec SETI G5 optimized....

Altivec SETI G5 optimized....
Thread Tools
javalizard
Fresh-Faced Recruit
Join Date: Mar 2001
Location: Pittsburgh, PA
Status: Offline
Reply With Quote
Jul 26, 2004, 02:04 AM
 
The client you have all been waiting for...

http://www.djbradanderson.com/global...i_boinc.tar.gz

This code was submitted to berkeley and has not yet been included in the project. The source code is pending when it is confirmed that this client software is without defect. I need someone else to confirm that the client works properly.


Here are the time trials of just the code that was optimized:

testing fft size: 2048
original elapsed Time: 0.969843
optimized elapsed Time: 0.887717
errors: 0

testing fft size: 4096
original elapsed Time: 0.978798
optimized elapsed Time: 0.900665
errors: 0

testing fft size: 8192
original elapsed Time: 1.006621
optimized elapsed Time: 0.920097
errors: 0

testing fft size: 16384
original elapsed Time: 1.062748
optimized elapsed Time: 0.952692
errors: 0

testing fft size: 32768
original elapsed Time: 1.205316
optimized elapsed Time: 1.006551
errors: 0

testing fft size: 65536
original elapsed Time: 1.381524
optimized elapsed Time: 1.086067
errors: 0

testing fft size: 131072
original elapsed Time: 1.624262
optimized elapsed Time: 1.294458
errors: 0

testing fft size: 262144
original elapsed Time: 2.305264
optimized elapsed Time: 1.709731
errors: 0
     
Shaktai
Mac Elite
Join Date: Jan 2002
Location: Mile High City
Status: Offline
Reply With Quote
Jul 26, 2004, 02:14 AM
 
How does it differ from the one we already have located here?

http://members.dslextreme.com/~reade...eam/boinc.html
     
javalizard  (op)
Fresh-Faced Recruit
Join Date: Mar 2001
Location: Pittsburgh, PA
Status: Offline
Reply With Quote
Jul 26, 2004, 07:38 AM
 
BOINC is not seti, and a g5 optimized seti is not a altivec g5 optimized seti.

This should add about 20% more speed ON TOP of what those client in the link you provided. I spent a week to convert the code into an altivec client. From the page:
>>The source code for these compiles are unchanged and can be found on the Berkeley servers.<<
This means the source code doesn't have altivec.
     
Turias
Mac Elite
Join Date: Nov 2003
Location: Minnesota
Status: Offline
Reply With Quote
Jul 26, 2004, 10:10 AM
 
So you did the code conversion? Wow, excellent! Thanks for your work! I can't wait to try it out.
     
Shaktai
Mac Elite
Join Date: Jan 2002
Location: Mile High City
Status: Offline
Reply With Quote
Jul 26, 2004, 10:40 AM
 
Originally posted by javalizard:
BOINC is not seti, and a g5 optimized seti is not a altivec g5 optimized seti.
Cool. It will be interesting to see how real world performance changes.

Turias, be sure to let everyone know how it works for you. I don't have a G5 (yet) to test it on.

javalizard, Thanks for the explanation. 20% would be a very nice boost.
     
Turias
Mac Elite
Join Date: Nov 2003
Location: Minnesota
Status: Offline
Reply With Quote
Jul 26, 2004, 10:43 AM
 
Originally posted by Shaktai:
Turias, be sure to let everyone know how it works for you. I don't have a G5 (yet) to test it on.
I'll let you know as soon as my dual 2.5 arrives. Sadly, that probably won't be until late August.
     
Shaktai
Mac Elite
Join Date: Jan 2002
Location: Mile High City
Status: Offline
Reply With Quote
Jul 26, 2004, 10:47 AM
 
Originally posted by Turias:
I'll let you know as soon as my dual 2.5 arrives. Sadly, that probably won't be until late August.
Well that is sooner then I can hope for. What mikkyo accomplished with floating point alone was impressive, G5 altivec optimized on a dual 2.5? Now that should be a screamer.

I know there are other G5 users on SETI, hopefully one of them can give us a heads up.
     
Lateralus
Moderator Emeritus
Join Date: Sep 2001
Location: Arizona
Status: Offline
Reply With Quote
Jul 26, 2004, 12:00 PM
 
My poor G4...
I like chicken
I like liver
Meow Mix, Meow Mix
Please de-liv-er
     
mikkyo
Senior User
Join Date: Feb 2002
Location: Silly Valley, Ca
Status: Offline
Reply With Quote
Jul 26, 2004, 04:12 PM
 
A G4 version should be pretty easy, as it has altivec too.
javalizard is your Altivec code G5 specific or can you build a version for the G4 as well?
     
javalizard  (op)
Fresh-Faced Recruit
Join Date: Mar 2001
Location: Pittsburgh, PA
Status: Offline
Reply With Quote
Jul 26, 2004, 07:08 PM
 
I can and will do a G4 optimized version as soon as it is confirmed that this works exactly as it should. While there is no reason that it shouldn't, I would like the 3rd party OK (by someone here) that it works correctly...
Working correctly means that the results are EXACTLY the same. This is to ensure that the science that is performed is right.

THIS WILL WORK ON YOUR G4!!!! And it should even give nearly the 20% boost as a G5. The instruction scheduling is not optimal for the G4 is all. The instruction scheduling is roughly the same between all processors because they all work roughly the same way.

So give me a shout out if you get it working on the G4 too... perfectly.

     
Lateralus
Moderator Emeritus
Join Date: Sep 2001
Location: Arizona
Status: Offline
Reply With Quote
Jul 26, 2004, 07:23 PM
 
With the AltiVec version by JavaLizard:

2004-07-26 18:21:19 [---] Benchmark results:
2004-07-26 18:21:19 [---] Number of CPUs: 2
2004-07-26 18:21:19 [---] 1933 double precision MIPS (Whetstone) per CPU
2004-07-26 18:21:19 [---] 2196 integer MIPS (Dhrystone) per CPU
2004-07-26 18:21:19 [---] Finished CPU benchmarks

Without it:

2004-07-18 22:54:19 [---] Benchmark results:
2004-07-18 22:54:19 [---] Number of CPUs: 2
2004-07-18 22:54:19 [---] 1935 double precision MIPS (Whetstone) per CPU
2004-07-18 22:54:19 [---] 2200 integer MIPS (Dhrystone) per CPU
2004-07-18 22:54:19 [---] Finished CPU benchmarks

G4 1.40GHz MP/1GB of RAM/OS X 10.3.4
I like chicken
I like liver
Meow Mix, Meow Mix
Please de-liv-er
     
javalizard  (op)
Fresh-Faced Recruit
Join Date: Mar 2001
Location: Pittsburgh, PA
Status: Offline
Reply With Quote
Jul 26, 2004, 08:07 PM
 
Those benchmarks only apply in the BOINC software. BOINC does not bench seti, it benches it's own internal algorithms disconnected from seti. Technically speaking, I should re-write the benchmark code in BOINC with altivec to ensure that the MIPS are correct. altivec-ing a benchmark is not my idea of useful or utilitarian to the seti project.

Last I heard, we are supposed to find ET in year 2020, by rough estimation. I only hope that this code brings that date in. Seriously, when we find ET don't ask him to phone home. Also, no wise-cracks about about how horrible cell phones are... SETI is the longest range cell phone invented yet.

If there is real interest in seeing BOINC benchmarks altivec-ed, then I will when I have a spare moment or two.

Brad
     
javalizard  (op)
Fresh-Faced Recruit
Join Date: Mar 2001
Location: Pittsburgh, PA
Status: Offline
Reply With Quote
Aug 16, 2004, 10:47 PM
 
Now that the SETI/BOINC is up and running I am going to recompile the altivec client of the seti worker. This will be a G4 and a G5 optimized version PLUS a download page AND the source code....

This will be up and running by the end of the week.

Brad
     
reader50
Administrator
Join Date: Jun 2000
Location: California
Status: Offline
Reply With Quote
Aug 16, 2004, 11:26 PM
 
If you need a download page or webspace for the files, we would be happy to provide both.
     
falofolio
Fresh-Faced Recruit
Join Date: Jul 2004
Status: Offline
Reply With Quote
Aug 17, 2004, 01:37 PM
 
Originally posted by javalizard:
Now that the SETI/BOINC is up and running I am going to recompile the altivec client of the seti worker.

Yes, finally, SETI/BOINC is up and running again, but look what I only got back from BOINC\SETI (several times for different data sets) :

2004-08-17 19:23:07 [SETI@home] Starting computation for result 10ja04ab.26943.11682.73576.228_5 using setiathome version 3.10
2004-08-17 19:23:07 [SETI@home] execv(../../projects/setiathome.berkeley.edu/setiathome-3.10.powerpc-apple-darwin) failed: -1
2004-08-17 19:23:08 [SETI@home] Unrecoverable error for result 10ja04ab.26943.11682.73576.228_5 (process exited with code 2 (0x2))
2004-08-17 19:23:08 [SETI@home] Unrecoverable error for result 10ja04ab.26943.11682.73576.228_5 (process exited with code 2 (0x2))
2004-08-17 19:23:08 [SETI@home] Deferring communication with project for 1 minutes and 0 seconds
2004-08-17 19:23:08 [SETI@home] Deferring communication with project for 1 minutes and 0 seconds
2004-08-17 19:23:08 [SETI@home] Computation for result 10ja04ab.26943.11682.73576.228 finished


Do you know what's wrong here? I would really like to use your G5 AltiVec of your SETI-worker on my iBook G4, but until now in vain for a reason I don't know. Please, help me here!

(Extra info: I'm using your AltiVec-version of SETI-worker with the Super Optimized version of BOINC by MacNN!)
( Last edited by falofolio; Aug 17, 2004 at 01:54 PM. )
     
falofolio
Fresh-Faced Recruit
Join Date: Jul 2004
Status: Offline
Reply With Quote
Aug 17, 2004, 01:51 PM
 
Of course, I meant to write in my precious post: the Super Optimized version of BOINC by mikkyo!!!
     
mikkyo
Senior User
Join Date: Feb 2002
Location: Silly Valley, Ca
Status: Offline
Reply With Quote
Aug 17, 2004, 03:33 PM
 
Look in you Seti directory in Projects/setiathome.berkeley.edu.
If you cd there in Terminal and do an ls -l you can see the permissions on the files.

This error
execv(../../projects/setiathome.berkeley.edu/setiathome-3.10.powerpc-apple-darwin) failed: -1

means it was trying to execute setiathome-3.10.powerpc-apple-darwin, which is the default worker, and the file either wasn't there, or wasn't readable/executable.
Are you running the recompiled seti worker from our client page?
If so make sure the app_info.xml file in the setiathome.berkeley.edu directory with the worker.
     
falofolio
Fresh-Faced Recruit
Join Date: Jul 2004
Status: Offline
Reply With Quote
Aug 17, 2004, 03:55 PM
 
Originally posted by mikkyo:
Look in you Seti directory in Projects/setiathome.berkeley.edu.
If you cd there in Terminal and do an ls -l you can see the permissions on the files.
My permissions are:
-rwxr-xr-x for the seti-worker
-rw-r--r-- for the app_info.xml
(Extra: I'm the only person who uses my iBook. So, I am always the admin if everything is set correctly, I assume.)


This error
execv(../../projects/setiathome.berkeley.edu/setiathome-3.10.powerpc-apple-darwin) failed: -1

means it was trying to execute setiathome-3.10.powerpc-apple-darwin, which is the default worker, and the file either wasn't there, or wasn't readable/executable.
Are you running the recompiled seti worker from our client page?
If so make sure the app_info.xml file in the setiathome.berkeley.edu directory with the worker.
The only thing I did was putting the two files (i.e., app_info.xml and setiathome-3.10.powerpc-apple-darwin) directly after downloading and unpacking them into ../../projects/setiathome.berkeley.edu/. That's all. After that, I ran the super optimized BOINC.
     
mikkyo
Senior User
Join Date: Feb 2002
Location: Silly Valley, Ca
Status: Offline
Reply With Quote
Aug 18, 2004, 03:02 AM
 
Edit:
It appears the app_info.xml doesn't have the correct name of the seti worker.
Take a look at the file and make sure the name is the same in both places.
It looks like in the default setup the name is set wrong for some of our setups.
You can drop app_info.xml on Text Edit and look at both <name> tags.
Make sure the name in between the tags matches your seti worker name.
< name >setiathome-3.10.powerpc-apple-darwin< /name >
might need to be
< name >setiathome-3.8.powerpc-apple-darwin< /name >
be sure to change it in both places.
If you are using my super optimized boinc client and javalizard's altivec'd set worker(from the first post on this thread), you should be fine, as the app_info.xml is set up for the 3.10 name.
( Last edited by mikkyo; Aug 18, 2004 at 12:40 PM. )
     
javalizard  (op)
Fresh-Faced Recruit
Join Date: Mar 2001
Location: Pittsburgh, PA
Status: Offline
Reply With Quote
Aug 18, 2004, 08:16 AM
 
the posted version above is pre-alpha. I tried it for a day and it worked but the units weren't processed. I have a new version that is faster and could be considered pre-beta... it does work.

As soon as the project comes back up and stays up for a day I will be able to complete testing on the pre-beta. It'll then move to beta and I will post it.

The G4 is seeing a 40%-50% speed increase. The G5 is seeing a 20%-30% increase. The G5 has a larger memory cache on the chip. It also has a better/faster memory architecture. This causes the code to have a smaller increase than the G4.

This new FFT code runs about 10% slower than FFTW3 code. Then again it is also custom math which is how I attribute the difference. FFTW is considered some of the fastest FFT code around. Apple has a faster FFT method but it requires that the numbers be arranged in a specific way. Rearranging the numbers would decrease the apple code speed to the range that I am seeing with these optimizations.

I still think there is some room for improvement on these last two FFT times. That requires not just optimization but some kind of algorithm changes. So if anyone has any idea how to make the last two FFT times faster let me know.

FYI, the speed up is the % decrease in time.

testing fft size: 32
original elapsed Time: 0.384578
MFlop: 2130.13
optimized elapsed Time: 0.366229
MFlop: 2236.85
speedup: 4.77

testing fft size: 64
original elapsed Time: 0.381535
MFlop: 2576.54
optimized elapsed Time: 0.336250
MFlop: 2923.54
speedup: 11.87

testing fft size: 128
original elapsed Time: 0.422559
MFlop: 2714.13
optimized elapsed Time: 0.391098
MFlop: 2932.46
speedup: 7.45

testing fft size: 256
original elapsed Time: 0.518261
MFlop: 2529.07
optimized elapsed Time: 0.443175
MFlop: 2957.57
speedup: 14.49

testing fft size: 512
original elapsed Time: 0.563298
MFlop: 2617.73
optimized elapsed Time: 0.443999
MFlop: 3321.09
speedup: 21.18

testing fft size: 1024
original elapsed Time: 0.610636
MFlop: 2683.11
optimized elapsed Time: 0.475626
MFlop: 3444.72
speedup: 22.11

testing fft size: 2048
original elapsed Time: 0.694911
MFlop: 2593.48
optimized elapsed Time: 0.547090
MFlop: 3294.23
speedup: 21.27

testing fft size: 4096
original elapsed Time: 0.737684
MFlop: 2665.21
optimized elapsed Time: 0.535452
MFlop: 3671.81
speedup: 27.41

testing fft size: 8192
original elapsed Time: 0.814350
MFlop: 2615.48
optimized elapsed Time: 0.616411
MFlop: 3455.36
speedup: 24.31

testing fft size: 16384
original elapsed Time: 0.970506
MFlop: 2363.47
optimized elapsed Time: 0.715014
MFlop: 3208.00
speedup: 26.33

testing fft size: 32768
original elapsed Time: 1.499862
MFlop: 1638.55
optimized elapsed Time: 0.873456
MFlop: 2813.65
speedup: 41.76

testing fft size: 65536
original elapsed Time: 1.506464
MFlop: 1740.13
optimized elapsed Time: 1.159691
MFlop: 2260.46
speedup: 23.02

testing fft size: 131072
original elapsed Time: 2.378837
MFlop: 1170.86
optimized elapsed Time: 1.823823
MFlop: 1527.17
speedup: 23.33

testing fft size: 262144
original elapsed Time: 4.320538
MFlop: 682.58
optimized elapsed Time: 3.561613
MFlop: 828.03
speedup: 17.57
     
javalizard  (op)
Fresh-Faced Recruit
Join Date: Mar 2001
Location: Pittsburgh, PA
Status: Offline
Reply With Quote
Aug 23, 2004, 08:47 PM
 
I am still waiting for SETI to send out work units. Once my newest code has been tested, I will post the URLs to download the G4 and G5 SETI Worker with the app file.

I really can't believe it's taken them this long to get it up.
Brad
     
javalizard  (op)
Fresh-Faced Recruit
Join Date: Mar 2001
Location: Pittsburgh, PA
Status: Offline
Reply With Quote
Aug 29, 2004, 10:15 PM
 
There is a new version of both BOINC and SETI worker.

I will start to download thee sources and hopefully get the altivec project up and runnning ASAP.

I will post here with further details as they become available.

Brad
     
javalizard  (op)
Fresh-Faced Recruit
Join Date: Mar 2001
Location: Pittsburgh, PA
Status: Offline
Reply With Quote
Sep 7, 2004, 10:37 PM
 
oops, forgot there was this thread hanging out down here.

It is up for those of you watching...
http://www.djbradanderson.com/global/seti.php
     
fillmeup
Fresh-Faced Recruit
Join Date: Jul 2004
Location: Oregon
Status: Offline
Reply With Quote
Sep 8, 2004, 01:40 AM
 
Originally posted by javalizard:
oops, forgot there was this thread hanging out down here.

It is up for those of you watching...
http://www.djbradanderson.com/global/seti.php
Thanks javalizard!

Any pointers as to how to install? Does it matter what the name of the client is or anything like that? Do you use this instead of mikkyo's?

Of course I know, but I figured I would post this for all those members that aren't sure.
     
javalizard  (op)
Fresh-Faced Recruit
Join Date: Mar 2001
Location: Pittsburgh, PA
Status: Offline
Reply With Quote
Sep 8, 2004, 01:56 PM
 
Another good point.


These two files should go into your boinc directory under "projects/setiathome.berkeley.edu/" directory. You will see another setiathome executable file. you can leave that file alone. If place the two files into this directory, and then restart boinc, it will run the altivec version. The app_info.xml will point to the altivec version and inform boinc to use it as opposed to the existing seti worker.

There can be only one app_info.xml. This means that if you have another, please back it up so you can revert to it if needed.

Good luck.
     
reader50
Administrator
Join Date: Jun 2000
Location: California
Status: Offline
Reply With Quote
Sep 8, 2004, 06:18 PM
 
javalizard, I'll link your downloads and download page from our BOINC page. Not sure when it will happen though, work is very busy right now.

If you don't want them linked up, say so. Also, I'd like to know what credit you want on the page, is "courtesy of javalizard" sufficient?
     
Knightrider
Dedicated MacNNer
Join Date: Sep 2004
Location: London
Status: Offline
Reply With Quote
Sep 18, 2004, 06:45 PM
 
The altivec version does not seem to be working on my G5.

The app info xml contains the line:-

setiathome setiathome_4.3_ppcG5.altivec setiathome 430 setiathome_4.3_ppcG5.altivec

Is this correct? as the regular version is now up to 4.9


K.

(edit:corrected typo 3.9 to 4.9)
( Last edited by Knightrider; Sep 19, 2004 at 02:59 AM. )
     
Knightrider
Dedicated MacNNer
Join Date: Sep 2004
Location: London
Status: Offline
Reply With Quote
Sep 22, 2004, 07:34 AM
 
Looks like I have the Altivec running on my G5:

Terminal Log =

2004-09-22 00:12:09 [SETI@home] Project prefs: using separate prefs for home
2004-09-22 00:12:09 [SETI@home] Found app_info.xml; using anonymous platform

Had this a couple of times. But restarts the wu.

2004-09-22 07:39:10 [SETI@home] Result 26ap04ab.3369.15697.804812.81_1 exited with zero status but no 'finished' file
2004-09-22 07:39:10 [SETI@home] If this happens repeatedly you may need to reset the project.
2004-09-22 07:39:10 [SETI@home] Restarting result 26ap04ab.3369.15697.804812.81_1 using setiathome version 4.30

K.
     
zmaniac
Fresh-Faced Recruit
Join Date: Oct 2004
Status: Offline
Reply With Quote
Oct 1, 2004, 10:48 PM
 
Originally posted by javalizard:
The client you have all been waiting for...
Just downloaded the G5 Altivec BOINC SETI client and my 2.5 DP G5 is crunching away. I had started with the regular client and was thinking "Gee, this really needs to be Altivec tuned to get decent credit". Great work lizard!

I've got a second 2.5 DP G5 due at the end of the month when the adapter for the 30" display is ready (this system just has the small 23" .

Also joined Team MacNN.

jim
     
Knightrider
Dedicated MacNNer
Join Date: Sep 2004
Location: London
Status: Offline
Reply With Quote
Oct 4, 2004, 02:25 PM
 
Hi zmaniac,

welcome to Team MacNN, only a recent joiner myself.

I was dueling with SAH/CPDN on my G5, but have just commited to SAH.

I notice that the Altivec runs as an anonymous client, so the results don't show in the computers list in my account, but they do show in the overall totals, as does granted credit. Pending credit still switched off however.

Now if Apple did an upgrade kit from G5 Dual 2.00 to 2.5, I would go for that..........


So with 2x2.5 G5 duals I expect to see the team in the top position pdq......

K.
     
Shaktai
Mac Elite
Join Date: Jan 2002
Location: Mile High City
Status: Offline
Reply With Quote
Oct 4, 2004, 09:16 PM
 
Indeed, welcome zmaniac. 2 dual 2.5's? Wow, I can only dream. That will definitely help the team however. Glad to have you on board.
     
gorbag
Fresh-Faced Recruit
Join Date: Nov 2001
Location: Milky Way
Status: Offline
Reply With Quote
Oct 6, 2004, 02:30 PM
 
Originally posted by javalizard:
Those benchmarks only apply in the BOINC software. BOINC does not bench seti, it benches it's own internal algorithms disconnected from seti. Technically speaking, I should re-write the benchmark code in BOINC with altivec to ensure that the MIPS are correct. altivec-ing a benchmark is not my idea of useful or utilitarian to the seti project.

If there is real interest in seeing BOINC benchmarks altivec-ed, then I will when I have a spare moment or two.

Brad
Unless I'm mistaken, wouldn't the credit requested by the client depend on the benchmark results? And thus, an unoptimized benchmark would result in a request for too few credits? (By the benchmark, the machine will appear to be slower than it really is, but compute a result in less time than the slow machine would take, thus .8 of the credit would be requested compared to the actual work performed).
     
Knightrider
Dedicated MacNNer
Join Date: Sep 2004
Location: London
Status: Offline
Reply With Quote
Oct 17, 2004, 06:05 PM
 
Looks like BOINC results stats are now available again from your account page, I seem to be averaging 3 hours per wu on my G5 with the Altivec 4.3. I have now updated to the super optimised 4.11, so will see how that performs.

http://members.dslextreme.com/~reade...eam/boinc.html

Big thank you to javalizard and mikkyo.

btw - I also understood that the benchmarks were related to the amount of credit given.

K.
( Last edited by Knightrider; Oct 17, 2004 at 06:15 PM. )
     
   
 
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Top
Privacy Policy
All times are GMT -4. The time now is 09:45 PM.
All contents of these forums © 1995-2017 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.8 © 2000-2017, Jelsoft Enterprises Ltd.,