I've Built a Couple OSX CUDA Apps...

Message boards : Number crunching : I've Built a Couple OSX CUDA Apps...
Message board moderation

To post messages, you must log in.

Previous · 1 . . . 30 · 31 · 32 · 33 · 34 · 35 · 36 . . . 58 · Next

AuthorMessage
Profile jason_gee
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 24 Nov 06
Posts: 7489
Credit: 91,093,184
RAC: 0
Australia
Message 1805825 - Posted: 30 Jul 2016, 12:45:44 UTC - in response to Message 1805823.  
Last modified: 30 Jul 2016, 12:47:05 UTC

The particular problem we're grappling with at Beta is

setiathome_CUDA: No device specified, determined to use CUDA device 1

- which seems likely to be either an API or a deployment issue, nothing to do with the cuda-ness of the application per se. (Which is producing validated results, though a small sample so far).

Was there a client code change to remove the -device nn command line ? If so then it's the client changing things without notifying developers. If not, then it's a build specific breakage in reading and interpreting the command line.

Usage of the command line to pass device numbers (save as a fallback for old client versions) has been deprecated since a858fe79d76af5826eafc8a35d8b537dc9e18b02 - 11 September 2011

It's become even more important since the full implementation of OpenCL enumeration in later BOINC v7 clients, because there is no guarantee that cuda device numbers and OpenCL device numbers are enumerated identically: BOINC needs to be able to uniquely identity hardware devices in either mode, to avoid potentially scheduling a CUDA application and an OpenCL application to the same hardware but with different device numbers.


Nice. That's the kindof pointless deprecation that will foster outright rebellion. [I give a cr@p about OpenCL devices because why ? ]
"Living by the wisdom of computer science doesn't sound so bad after all. And unlike most advice, it's backed up by proofs." -- Algorithms to live by: The computer science of human decisions.
ID: 1805825 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14656
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1805826 - Posted: 30 Jul 2016, 12:47:15 UTC - in response to Message 1805821.  

All I'm going to say is it's very strange it works perfectly fine for 7 months under Anonymous platform, place it on the SETI Server and suddenly BOINC doesn't know what to do with it.
Very strange indeed.

We haven't yet seen the comparative <app_version>...</app_version> sections I requested at Beta, some three hours ago. They would probably explain the mystery, perhaps lying in the presence or absence of <api_version> data.
ID: 1805826 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14656
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1805831 - Posted: 30 Jul 2016, 12:49:28 UTC - in response to Message 1805825.  
Last modified: 30 Jul 2016, 12:50:05 UTC

Nice. That's the kindof pointless deprecation that will foster outright rebellion. [I give a cr@p about OpenCL devices because why ? ]

Because your applications are going to run under a collaborative framework where developers from other projects might choose to use a different development platform.
ID: 1805831 · Report as offensive
Profile jason_gee
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 24 Nov 06
Posts: 7489
Credit: 91,093,184
RAC: 0
Australia
Message 1805833 - Posted: 30 Jul 2016, 12:56:09 UTC - in response to Message 1805831.  
Last modified: 30 Jul 2016, 12:56:57 UTC

Nice. That's the kindof pointless deprecation that will foster outright rebellion. [I give a cr@p about OpenCL devices because why ? ]

Because your applications are going to run under a collaborative framework where developers from other projects might choose to use a different development platform.


Then you, along with Boinc developers, have no understanding of the principles of information hiding (reference https://en.wikipedia.org/wiki/Information_hiding, whereby my application has no responsibility to understand anything about OpenCL, Arm CPus, or Abacus bearing marmosets. It's bad design to cast external expectations onto a microcosm.
"Living by the wisdom of computer science doesn't sound so bad after all. And unlike most advice, it's backed up by proofs." -- Algorithms to live by: The computer science of human decisions.
ID: 1805833 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14656
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1805837 - Posted: 30 Jul 2016, 13:02:25 UTC - in response to Message 1805833.  
Last modified: 30 Jul 2016, 13:02:55 UTC

Nice. That's the kindof pointless deprecation that will foster outright rebellion. [I give a cr@p about OpenCL devices because why ? ]

Because your applications are going to run under a collaborative framework where developers from other projects might choose to use a different development platform.

Then you, along with Boinc developers, have no understanding of the principles of information hiding (reference https://en.wikipedia.org/wiki/Information_hiding, whereby my application has no responsibility to understand anything about OpenCL, Arm CPus, or Abacus bearing marmosets. It's bad design to cast external expectations onto a microcosm.

But you, as an application developer, working inside something that is as much a computer science experiment as any astronomy/particle physics/pharmaceutical/mathematical (need I go on) experiment surely have some duty to RTFM - keep up-to-date with current trends? Otherwise you'd still be programming for CUDA 1.0 under Windows 3.11
ID: 1805837 · Report as offensive
Profile jason_gee
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 24 Nov 06
Posts: 7489
Credit: 91,093,184
RAC: 0
Australia
Message 1805839 - Posted: 30 Jul 2016, 13:07:02 UTC - in response to Message 1805837.  
Last modified: 30 Jul 2016, 13:09:01 UTC

Nice. That's the kindof pointless deprecation that will foster outright rebellion. [I give a cr@p about OpenCL devices because why ? ]

Because your applications are going to run under a collaborative framework where developers from other projects might choose to use a different development platform.

Then you, along with Boinc developers, have no understanding of the principles of information hiding (reference https://en.wikipedia.org/wiki/Information_hiding, whereby my application has no responsibility to understand anything about OpenCL, Arm CPus, or Abacus bearing marmosets. It's bad design to cast external expectations onto a microcosm.

But you, as an application developer, working inside something that is as much a computer science experiment as any astronomy/particle physics/pharmaceutical/mathematical (need I go on) experiment surely have some duty to RTFM - keep up-to-date with current trends? Otherwise you'd still be programming for CUDA 1.0 under Windows 3.11


Sure: but then let's ask the question why this doesn't appear to be broken on other platforms. Possibly because proper developers vetoed and repaired the damage caused by senselessly creating extra work for other people ?

[Edit:] If they are going to make changes to APIs like that, they better move to hard version them ---> i.e. Version X client, only supports apps with X API. I could go with that.
"Living by the wisdom of computer science doesn't sound so bad after all. And unlike most advice, it's backed up by proofs." -- Algorithms to live by: The computer science of human decisions.
ID: 1805839 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14656
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1805845 - Posted: 30 Jul 2016, 13:31:11 UTC - in response to Message 1805839.  

Sure: but then let's ask the question why this doesn't appear to be broken on other platforms. Possibly because proper developers vetoed and repaired the damage caused by senselessly creating extra work for other people ?

[Edit:] If they are going to make changes to APIs like that, they better move to hard version them ---> i.e. Version X client, only supports apps with X API. I could go with that.

TBar has demonstrated (provisionally so far) that his build does device selection correctly under anonymous platform, but fails when deployed as a stock app. I can think of a possible reason for that, and how it could be worked round: but I need to see the evidence from <app_version> before I can advise Eric.

From what you're saying, it's possible that your builds will need the same workround when deployed as stock.
ID: 1805845 · Report as offensive
Profile jason_gee
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 24 Nov 06
Posts: 7489
Credit: 91,093,184
RAC: 0
Australia
Message 1805849 - Posted: 30 Jul 2016, 13:40:53 UTC - in response to Message 1805845.  

Sure: but then let's ask the question why this doesn't appear to be broken on other platforms. Possibly because proper developers vetoed and repaired the damage caused by senselessly creating extra work for other people ?

[Edit:] If they are going to make changes to APIs like that, they better move to hard version them ---> i.e. Version X client, only supports apps with X API. I could go with that.

TBar has demonstrated (provisionally so far) that his build does device selection correctly under anonymous platform, but fails when deployed as a stock app. I can think of a possible reason for that, and how it could be worked round: but I need to see the evidence from <app_version> before I can advise Eric.

From what you're saying, it's possible that your builds will need the same workround when deployed as stock.


That's reasonable. I have no objection to updates after the fact, but pointless deprecation of 'stuff that works' is just the wrong way for a resource stressed system to operate. Maybe David needs to think about developers more before making changes ... just throwing that out there.
"Living by the wisdom of computer science doesn't sound so bad after all. And unlike most advice, it's backed up by proofs." -- Algorithms to live by: The computer science of human decisions.
ID: 1805849 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14656
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1805852 - Posted: 30 Jul 2016, 14:07:32 UTC - in response to Message 1805849.  

Sure: but then let's ask the question why this doesn't appear to be broken on other platforms. Possibly because proper developers vetoed and repaired the damage caused by senselessly creating extra work for other people ?

[Edit:] If they are going to make changes to APIs like that, they better move to hard version them ---> i.e. Version X client, only supports apps with X API. I could go with that.

TBar has demonstrated (provisionally so far) that his build does device selection correctly under anonymous platform, but fails when deployed as a stock app. I can think of a possible reason for that, and how it could be worked round: but I need to see the evidence from <app_version> before I can advise Eric.

From what you're saying, it's possible that your builds will need the same workround when deployed as stock.

That's reasonable. I have no objection to updates after the fact, but pointless deprecation of 'stuff that works' is just the wrong way for a resource stressed system to operate. Maybe David needs to think about developers more before making changes ... just throwing that out there.

Further research - there's a possibility (waiting on a test result from TBar) that befb90f0d4d1f14ae4a42d1a49bd612e9bcc4f96 may be implicated (not for the first time).

If so, your own builds won't need the workround.
ID: 1805852 · Report as offensive
Profile jason_gee
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 24 Nov 06
Posts: 7489
Credit: 91,093,184
RAC: 0
Australia
Message 1805855 - Posted: 30 Jul 2016, 14:13:58 UTC - in response to Message 1805852.  

Sure: but then let's ask the question why this doesn't appear to be broken on other platforms. Possibly because proper developers vetoed and repaired the damage caused by senselessly creating extra work for other people ?

[Edit:] If they are going to make changes to APIs like that, they better move to hard version them ---> i.e. Version X client, only supports apps with X API. I could go with that.

TBar has demonstrated (provisionally so far) that his build does device selection correctly under anonymous platform, but fails when deployed as a stock app. I can think of a possible reason for that, and how it could be worked round: but I need to see the evidence from <app_version> before I can advise Eric.

From what you're saying, it's possible that your builds will need the same workround when deployed as stock.

That's reasonable. I have no objection to updates after the fact, but pointless deprecation of 'stuff that works' is just the wrong way for a resource stressed system to operate. Maybe David needs to think about developers more before making changes ... just throwing that out there.

Further research - there's a possibility (waiting on a test result from TBar) that befb90f0d4d1f14ae4a42d1a49bd612e9bcc4f96 may be implicated (not for the first time).

If so, your own builds won't need the workround.


I saw the word 'Bitcoin' and passed out.
"Living by the wisdom of computer science doesn't sound so bad after all. And unlike most advice, it's backed up by proofs." -- Algorithms to live by: The computer science of human decisions.
ID: 1805855 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14656
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1805857 - Posted: 30 Jul 2016, 14:28:15 UTC - in response to Message 1805855.  

I saw the word 'Bitcoin' and passed out.

Yeah, well, likewise.

Sometimes David does bend over backwards to accommodate maverick developers ;-)

OK, heading out for a walk to clear my head - back in an hour or so.
ID: 1805857 · Report as offensive
Profile TimeLord04
Volunteer tester
Avatar

Send message
Joined: 9 Mar 06
Posts: 21140
Credit: 33,933,039
RAC: 23
United States
Message 1805885 - Posted: 30 Jul 2016, 16:33:22 UTC
Last modified: 30 Jul 2016, 16:54:07 UTC

k - Just put Andromeda, (2 GTX-750TI SC GPUs), to the task at Beta. Picked up CUDA75 Units there. Device 0 and Device 1 are crunching. I will let this go for a few hours.

Andromeda, Comp. ID = 78425 at Beta.

Once again, this system is a Hackintosh with model ID of 3,1. BOINC displays true system hardware specs.

I hope the data gathered helps. :-)

[EDIT:]

Also, I'm crunching 4 Units at a time; two on each Device.


TL
TimeLord04
Have TARDIS, will travel...
Come along K-9!
Join Calm Chaos
ID: 1805885 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14656
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1805894 - Posted: 30 Jul 2016, 17:11:13 UTC - in response to Message 1805885.  

Thanks - I'll keep an eye on it.

From what we've discovered so far at Beta (there's been a lively discussion there too today), I suspect that your BOINC will show two tasks running on Device 0, and two tasks on Device 1. But the results on the website will show that every task has been run using Jason's default of DevPref 1, and none at all with DevPref 2 (Jason's code doesn't acknowledge the existence of BOINC's DevPref 0).

We're working on a workround, but we're not quite done yet.
ID: 1805894 · Report as offensive
Profile TimeLord04
Volunteer tester
Avatar

Send message
Joined: 9 Mar 06
Posts: 21140
Credit: 33,933,039
RAC: 23
United States
Message 1805905 - Posted: 30 Jul 2016, 18:43:35 UTC

Went out for about 45+ min... Got back to find the first four Units completed and Uploaded; but, NOT Reported. I hit Update and got them Reported.

Found one Unit has been Validated against TBar's system with three 950 cards. Three of my Units are still Pending.

System picked up 20 more Units; so, now I have close to 40 Units in queue.

I wish you, TBar, and anyone else involved the GREATEST success with this endeavor. :-) I hope the next step, (after getting this to Main), will be to get this included into a future Lunatics Install.


TL
TimeLord04
Have TARDIS, will travel...
Come along K-9!
Join Calm Chaos
ID: 1805905 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14656
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1805907 - Posted: 30 Jul 2016, 18:53:19 UTC - in response to Message 1805905.  

Does indeed appear that all the first four tasks ran on Device 1 (in Jason's enumeration - still waiting to work out if that's BOINC's Device 0)
ID: 1805907 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14656
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1805913 - Posted: 30 Jul 2016, 20:02:39 UTC

@ Jason,

Please review (including linked docs) and consider committing Juha's patch at Beta message 59208, to fix the device selection code for newer cases.
ID: 1805913 · Report as offensive
Profile TimeLord04
Volunteer tester
Avatar

Send message
Joined: 9 Mar 06
Posts: 21140
Credit: 33,933,039
RAC: 23
United States
Message 1805919 - Posted: 30 Jul 2016, 20:53:43 UTC

Just picked up some SoG_MAC Units... They're towards the bottom of my Beta queue, though.


TL
TimeLord04
Have TARDIS, will travel...
Come along K-9!
Join Calm Chaos
ID: 1805919 · Report as offensive
Profile jason_gee
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 24 Nov 06
Posts: 7489
Credit: 91,093,184
RAC: 0
Australia
Message 1805958 - Posted: 31 Jul 2016, 1:06:59 UTC - in response to Message 1805913.  
Last modified: 31 Jul 2016, 1:53:05 UTC

@ Jason,

Please review (including linked docs) and consider committing Juha's patch at Beta message 59208, to fix the device selection code for newer cases.


There we go:
Modified:
branches/sah_v7_opt/Xbranch/client/main.cpp
Log:
Patch for Cuda device selection, Care of Juha Sointusalo.
Deals with boinc api 7.5 onwards breaking change (mid major version),
from standard use of command line to field not present on preferred earlier versions.


Will need checking by anyone using the applicable boincapi 7.5+

Doesn't affect current Windows builds on main/Lunatics, as they use an older API modified to reduce problems on exit. A compelling reason to use newer boincApi doesn't really exist for Cuda, though if desired could be encouraged by switching from imperative thread/process management, to asynchronous friendly behaviour. That though would warrant a major version update [of client, api and apps].

[Edit:] applied to the svn copy of Petri's alpha as well
"Living by the wisdom of computer science doesn't sound so bad after all. And unlike most advice, it's backed up by proofs." -- Algorithms to live by: The computer science of human decisions.
ID: 1805958 · Report as offensive
TBar
Volunteer tester

Send message
Joined: 22 May 99
Posts: 5204
Credit: 840,779,836
RAC: 2,768
United States
Message 1806268 - Posted: 1 Aug 2016, 5:20:04 UTC

The new OSX CUDA Apps updated to work with BOINC API 7.5 are now at Crunchers Anonymous
The only change is to the CUDA Apps themselves.

The Current Driver for OSX 10.11.6 to 10.9.x is Version 7.5.30, also available in your System Preferences/CUDA pane if you've already installed an older CUDA driver.

Testers at Beta are needed. The Current Apps at Beta work fine for machines with just 1 GPU and they will be updated shorty to work correctly with multiple GPUs. To run the CUDA Apps at Beta you will probably have to Abort a good number of OpenCL tasks before being sent the CUDA tasks. Don't be shy with the Abort button ;-)
ID: 1806268 · Report as offensive
Profile Zalster Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 27 May 99
Posts: 5517
Credit: 528,817,460
RAC: 242
United States
Message 1806292 - Posted: 1 Aug 2016, 6:33:01 UTC - in response to Message 1806268.  

TBar, need a link for the library, the one I have want's to install items, I just need the library so I can move them to the folder
ID: 1806292 · Report as offensive
Previous · 1 . . . 30 · 31 · 32 · 33 · 34 · 35 · 36 . . . 58 · Next

Message boards : Number crunching : I've Built a Couple OSX CUDA Apps...


 
©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.