The state of GPU crunching

Message boards : Number crunching : The state of GPU crunching
Message board moderation

To post messages, you must log in.

AuthorMessage
Profile Woodgie
Avatar

Send message
Joined: 6 Dec 99
Posts: 134
Credit: 89,630,417
RAC: 55
United Kingdom
Message 1434680 - Posted: 28 Oct 2013, 9:34:21 UTC

Right, here's how I understand the state of GPU crunching as it stands at the moment.

PLEASE CORRECT ME WHERE I'M WRONG!
I'll then take the corrections & other information and write it up as a blog post on my website and link through to it there. Hopefully it'll help others as the information seems to be all over the place and at least for me was a bit confusing to track down. (on less someone else has already done it in which case I'll get back in my corner :) )

1. Windows
This pretty much works 'out of the box', there are official (read; written by Seti staff) apps. BOINC will determine that a compatible GPU is available and the Seti servers will send down different apps to run work units. The servers will eventually narrow down which GPU app runs tasks fastest and send tasks just for it.

2. Linux
This pretty much works 'out of the box', there are official (read; written by Seti staff) apps. BOINC will determine that a compatible GPU is available and the Seti servers will send down different apps to run work units. The servers will eventually narrow down which GPU app runs tasks fastest and send tasks just for it.

3. Mac OS X
There are no official GPU optimised SETI apps. Try the unofficial (read; community written) version at lunatics.kwsn.net. They are for A[TI|MD] cards only and it's stated there's a bug which prevents it running on A[TI|MD] HD4xxx cards. My personal experience is that it doesn't work (fails with computation errors) on an HD5770 too.

The Lunatics also have on their site unofficial CPU and GPU optimised versions of Astropulse etc. for Nvidia and A[TI|MD] running under both Windows and Linux, though I experienced the same 'computation error' trying to run one of their CPU optimised Astropulse apps under Ubuntu.

(please don't think I'm trying to guilt or push anyone into 'fixing' things, I'm really not. I just want to understand how the lay of the land)
~W

ID: 1434680 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14649
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1434683 - Posted: 28 Oct 2013, 10:03:52 UTC - in response to Message 1434680.  

Actually, that's not really true.

The SETI staff - who are very few in number - wrote the original SETI code with CPUs in mind, and continue to develop it (the recent change from MB v6 to v7 was done in the lab). The staff compile and maintain the CPU apps for all major platforms themselves.

But - I hope they don't mind me saying - the SETI lab staff have never written a GPU app for themselves. That's not to denigrate them, but there are just too few people, not enough money to hire any more, and it's a specialised skill that requires time and effort to learn. Time is the biggest shortage of all.

The very first GPU apps - multibeam on NVidia cards - were written by a team put together by NVidia themselves - a mixture of staff and students, IIRC. Obviously, the staff (and some others) with detailed prior knowledge of the code were involved in showing NVidia what was needed, and checking that the results were accurate and ran OK under BOINC - which itself had to be re-written to manage and support the GPU apps.

That three-way collaboration between SETI, BOINC and NVidia lasted from 2008 to 2010: NVidia contributed the updated v6.10 app for Fermi GPUs, but their collaboration ended after that.

Since those early days, every single one of the GPU apps has been contributed to SETI by an outside volunteer. It would be invidious to name each programmer separately, because I'd inevitably forget somebody and leave them out. But you can get a good idea from the AUTHORS file downloaded with each application.

Naturally, SETI and the Space Science Laboratory retain ultimate responsibility for applications distributed in their name, and they insist on rigorous testing before accepting a volunteer contribution - these is constant interaction between the staff and volunteers to maintain quality control. You can see that in action currently on the Beta forum as the new Andriod application nears completion.
ID: 1434683 · Report as offensive
Profile Woodgie
Avatar

Send message
Joined: 6 Dec 99
Posts: 134
Credit: 89,630,417
RAC: 55
United Kingdom
Message 1434684 - Posted: 28 Oct 2013, 10:08:05 UTC - in response to Message 1434683.  

Fair enough, and my bad for attempting to define 'official' :)

For 'official', then, read 'handed out by BOINC when you connect to the Seti@Home project servers'.

~W
~W

ID: 1434684 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14649
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1434694 - Posted: 28 Oct 2013, 10:32:49 UTC - in response to Message 1434684.  

Yes, certainly 'official' in that sense. The staff accept responsibility for the work of the external volunteers, and digitally sign the executable files to confirm they are authentic SSL products.
ID: 1434694 · Report as offensive
Profile ivan
Volunteer tester
Avatar

Send message
Joined: 5 Mar 01
Posts: 783
Credit: 348,560,338
RAC: 223
United Kingdom
Message 1435781 - Posted: 30 Oct 2013, 22:08:18 UTC - in response to Message 1434680.  

Right, here's how I understand the state of GPU crunching as it stands at the moment.

PLEASE CORRECT ME WHERE I'M WRONG!
2. Linux
This pretty much works 'out of the box', there are official (read; written by Seti staff) apps. BOINC will determine that a compatible GPU is available and the Seti servers will send down different apps to run work units. The servers will eventually narrow down which GPU app runs tasks fastest and send tasks just for it.
(please don't think I'm trying to guilt or push anyone into 'fixing' things, I'm really not. I just want to understand how the lay of the land)

Unless there's something I missed, that's not strictly true. There's an OpenCL version of Astropulse that gets distributed by the official channels, but there's no officially distributed version of MultiBeam -- otherwise I should be running MB on my home machine which I recently changed to Linux after its XP system disk died (after 7-1/2 years, IIRC); it's only running the GPU AP version (when supply of those workunits permits).

Now several people, myself included, do compile and run their own MB version and some of these have been distributed in the past, but since Linux machines tend to be very much unstandardised it's almost futile to distribute executables developed on one particular machine. In fact, I usually have to also compile my own BOINC version on each machine as the versions of the libraries expected by the standard distribution of BOINC are mostly later than those I can use.

There is work ongoing to produce a more optimised and standardised version but, like the Macintosh versions, it's mostly being done by just a few individuals (where "few" may equal one!).

Note that on one occasion I tried to include the distributed OpenCL AP executable into my "anonymous platform" app_info.xml but didn't succeed in getting it to run along with my MB compilations; if anyone has managed to do this, I'd love to see their app_info.xml!

ID: 1435781 · Report as offensive
Claggy
Volunteer tester

Send message
Joined: 5 Jul 99
Posts: 4654
Credit: 47,537,079
RAC: 4
United Kingdom
Message 1435794 - Posted: 30 Oct 2013, 23:08:04 UTC - in response to Message 1435781.  

There's an OpenCL version of Astropulse that gets distributed by the official channels, but there's no officially distributed version of MultiBeam -- otherwise I should be running MB on my home machine which I recently changed to Linux after its XP system disk died (after 7-1/2 years, IIRC); it's only running the GPU AP version (when supply of those workunits permits).

Of cause there is an official version of MB for Linux, But it's an OpenCL version for ATI/AMD GPUs:

Setiathome applications

Claggy
ID: 1435794 · Report as offensive
TBar
Volunteer tester

Send message
Joined: 22 May 99
Posts: 5204
Credit: 840,779,836
RAC: 2,768
United States
Message 1435795 - Posted: 30 Oct 2013, 23:13:17 UTC - in response to Message 1434680.  
Last modified: 30 Oct 2013, 23:55:24 UTC

...3. Mac OS X
There are no official GPU optimised SETI apps. Try the unofficial (read; community written) version at lunatics.kwsn.net. They are for A[TI|MD] cards only and it's stated there's a bug which prevents it running on A[TI|MD] HD4xxx cards. My personal experience is that it doesn't work (fails with computation errors) on an HD5770 too.

Hmmm.... Lion? I didn't have any Luck with Lion either. It did work well with Mountain Lion though. Seems to be working with Mavericks too. Here's another one Computer 7054408 . I still haven't determined why his 5770 is so slow, my 7750 is much faster. I asked if he had a free CPU core, but didn't receive a response.

Mavericks is Free. If you can, update to Mavericks and try it again.

There is a Mac well inside the Top 100.

If I only had a couple of these...

SAPPHIRE HD 7950 3GB GDDR5 MAC Edition
ID: 1435795 · Report as offensive
Profile ivan
Volunteer tester
Avatar

Send message
Joined: 5 Mar 01
Posts: 783
Credit: 348,560,338
RAC: 223
United Kingdom
Message 1435935 - Posted: 31 Oct 2013, 6:58:38 UTC - in response to Message 1435794.  

Setiathome applications

Thanks, I was trying to find that page last night but didn't manage it.
ID: 1435935 · Report as offensive

Message boards : Number crunching : The state of GPU crunching


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.