Why need 5 different stock AMD OpenCL GPU applications?

Message boards : Number crunching : Why need 5 different stock AMD OpenCL GPU applications?
Message board moderation

To post messages, you must log in.

1 · 2 · 3 · 4 · Next

AuthorMessage
Profile Jord
Volunteer tester
Avatar

Send message
Joined: 9 Jun 99
Posts: 15184
Credit: 4,362,181
RAC: 3
Netherlands
Message 1790372 - Posted: 25 May 2016, 22:44:22 UTC

Since tonight I run stock Seti applications on my AMD HD7870, Windows 7 x64, Crimson 15.12 drivers.
Where BOINC for the first 6 tasks downloaded the v8.12 OpenCL ATIAPU SoG (opencl_atiapu_SoG) application, it's since gone and downloaded also the OpenCL ATI SAH (opencl_ati_cat132), OpenCL ATI5 SAH (opencl_ati5_cat132), OpenCL ATI5 SoG (opencl_ati5_SoG_cat132) and OpenCL ATIAPU SAH (opencl_atiapu_sah) applications. I don't really see the need why it should do so. It's running just normal MBs and Guppi VLARs, I guess just like everyone else.

The downside of this is of course that it now takes at least 5 times as long before my computer is being seen as trustworthy, because it now needs to do 5 times the '10 task minimum without error' validation rounds.

Seeing the applications page, there's probably two more applications I see that can be sent my way.
ID: 1790372 · Report as offensive
Profile petri33
Volunteer tester

Send message
Joined: 6 Jun 02
Posts: 1668
Credit: 623,086,772
RAC: 156
Finland
Message 1790376 - Posted: 25 May 2016, 22:51:47 UTC
Last modified: 25 May 2016, 22:52:03 UTC

Well,
There is a haystack of different needles and straws. To attack them best in the long run ....
To overcome Heisenbergs:
"You can't always get what you want / but if you try sometimes you just might find / you get what you need." -- Rolling Stones
ID: 1790376 · Report as offensive
Profile HAL9000
Volunteer tester
Avatar

Send message
Joined: 11 Sep 99
Posts: 6534
Credit: 196,805,888
RAC: 57
United States
Message 1790421 - Posted: 26 May 2016, 1:41:08 UTC - in response to Message 1790372.  

Since tonight I run stock Seti applications on my AMD HD7870, Windows 7 x64, Crimson 15.12 drivers.
Where BOINC for the first 6 tasks downloaded the v8.12 OpenCL ATIAPU SoG (opencl_atiapu_SoG) application, it's since gone and downloaded also the OpenCL ATI SAH (opencl_ati_cat132), OpenCL ATI5 SAH (opencl_ati5_cat132), OpenCL ATI5 SoG (opencl_ati5_SoG_cat132) and OpenCL ATIAPU SAH (opencl_atiapu_sah) applications. I don't really see the need why it should do so. It's running just normal MBs and Guppi VLARs, I guess just like everyone else.

The downside of this is of course that it now takes at least 5 times as long before my computer is being seen as trustworthy, because it now needs to do 5 times the '10 task minimum without error' validation rounds.

Seeing the applications page, there's probably two more applications I see that can be sent my way.

If you think that is bad. We now have 12 Android apps. After 4 or 5 months of running nearly 24/7 I still did not have the required "completed" tasks for each app.

I really think that being able to enable/disable apps by their plan class should be a default BOINC option.
SETI@home classic workunits: 93,865 CPU time: 863,447 hours
Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[
ID: 1790421 · Report as offensive
Admiral Gloval
Avatar

Send message
Joined: 31 Mar 13
Posts: 20152
Credit: 5,308,449
RAC: 0
United States
Message 1790429 - Posted: 26 May 2016, 2:34:21 UTC

Thanks for the info. I thought that my APU was disabled when I installed a GPU card?

ID: 1790429 · Report as offensive
Cosmic_Ocean
Avatar

Send message
Joined: 23 Dec 00
Posts: 3027
Credit: 13,516,867
RAC: 13
United States
Message 1790474 - Posted: 26 May 2016, 7:26:26 UTC

It may seem pointless and a bit excessive, but having that many apps means somebody has put in the time and effort to make apps that are specialized for certain crunching environments, rather than just one generic app that is supposed to be a catch-all for everything.

While it is slightly inconvenient that it takes so long until you get to the '10 completed tasks' count for each of them, in the long run, if you don't already know what app is best for your hardware/driver setup, that's the point of running each of them: to find out which one yields the best performance.

Basically, any of us that use these forums would be considered "power users" and we tend to know what's best for our machines... but the framework of the project is largely "set and forget" where everything is handled automatically in the background with no user intervention needed, beyond installing BOINC and attaching to the project. Us power users are well under 1% of the total. Catering to us isn't particularly a logical idea for the greater good--although a lot of our requests/grievances do end up serving the greater good in the long run, so.. we just kind of go with the flow here.
Linux laptop:
record uptime: 1511d 20h 19m (ended due to the power brick giving-up)
ID: 1790474 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6325
Credit: 106,370,077
RAC: 121
Russia
Message 1790491 - Posted: 26 May 2016, 8:20:44 UTC

For those who too powerfull there is always offline benchmarking and anonymous platform available :P
ID: 1790491 · Report as offensive
Profile Jord
Volunteer tester
Avatar

Send message
Joined: 9 Jun 99
Posts: 15184
Credit: 4,362,181
RAC: 3
Netherlands
Message 1790677 - Posted: 26 May 2016, 20:35:57 UTC

Great, I put the question down, get 5 reactions of which 3 are a straight non-answer -including a snigger from the developer of these applications- one is someone with a moment of clarity and the other one is starting to give an explanation to then go off on a tangent about power users.

The question is simple: why is there a need for 5 (or 7) different applications on the same hardware resource? It's not just for my understanding, but also for total newbies, or people who do read here - and wonder about the same thing - but have till thus far been too afraid to ask, perhaps due to exactly this circumstance: you ask a question and get non-answers. Or you get totally unnecessary advice about running an optimized application, with no explanation on how to do that, or what to do when a new version of the Seti applications comes out. After which you have a 95% chance that your thread ends up in a pro and con fight over the use of power apps, credits, and which GPU brand is best.

So back to the problem at hand. An analogy:
You go to 7 different stores to do your shopping and instead of using just one bank-card between them to pay for everything, all stores prefer their own payment method and so you walk around with a minimum of 5 cards, a load of cache and a pile of coupons. Yes, not impossible, but completely insane.
Similarly, I don't see why one guppi needs to be done with the opencl_atiapu_sah app, then the next guppi with the opencl_ati5_sah app, then six MBs with the opencl_atiapu_sog app, one MB with the opencl_atiapu_sog_sah app, and two further MBs with the opencl_ati_sah app. I have an external HD7870 GPU, it's not an APU so I don't really need the ATIAPU apps. It's not a HD4xxx card, so I don't really need the *_ATI_* apps.

If this is due to that Seti doesn't strictly follow the plan_classes...
If this is due to Seti not being able to recognize the correct hardware versus the correct plan_class...
If this is due to there being no filter for specific GPU names per plan_class...
If this is due to the wide variety in hardware being available and the application not being able to switch internally to an older or newer OpenCL version, then say that.
(ever thought about adding a check in the app to see what OpenCL capability there is and switch internally to the right app? It means a bigger science application, but imo simpler, because you don't see the switching, and you don't have 5, 7 or 11 different application names to switch between.)

Now,
I understand that we need a SAH application (cat132) for the older HD46xx/48xx hardware.
I understand we need the ATI5 application to diverge from the above. But then ATI5 applications should be sent to minimum HD5xxx GPUs - which they aren't.
I understand we need the NOCAL application for the newer hardware that doesn't do CAL recognition anymore, a thing required by BOINC and most science applications (here and elsewhere) to be able to recognize that this is indeed an ATI GPU and something capable of OpenCL.

It would be nice if the above would follow the plan_class they were made for, but I have seen ATI5 apps being sent to HD4xxx GPUs and then erring.

The Sneezing on Grass (SoG) application versions, mwoh thus far I don't see the need for it. It's not running work faster than the ATIAPU, ATI, ATI5 or SAH/CAT132 applications, on guppi's it's more likely slower. The warmest my GPU gets is with the Stepping on Glass (SoG) applications, the coolest it stays with the various SAHs. A difference of as much as 10 degrees centigrade (71C with a fan speed of 70% (3,000rpm) versus 61C with a fan speed of 40% (1,740rpm)), so I prefer to run the lower apps over the Sniffing on Glue (SoG) apps anytime.

Here's a thought to clamp onto: there is talk about adding BOINC to the Apple Store, but Apple then requires that the BOINC Installer includes all possible science applications for all projects, because it does not allow applications in its store that download other applications. If the developers set this through, they wouldn't want to have to include 11 different stock Seti applications for the Mac only because there is a possibility that people run older hardware. They'd want one, maybe two applications per project's science range. Because with 50+ projects, you don't want people to download 750MB of installer including 60 applications per project.
ID: 1790677 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6325
Credit: 106,370,077
RAC: 121
Russia
Message 1790680 - Posted: 26 May 2016, 20:48:03 UTC - in response to Message 1790677.  


The question is simple: why is there a need for 5 (or 7) different applications on the same hardware resource?


Sorry did not read rest of quite a long post.
To answer question: you really need to get familiar with how BOINC selects app for performance. It's part of BOINC framework quite long ago so such questions should be answered by BOINC Wiki or whatever.
BOINC issues work for all compatible app as long as it needs to select most speedy one. Then almost only that app will get work with rare "check if no changes" tasks for others.
And actually you already got fully correct answer earlier - there is some difference in app that each suits different hardware better - but limitness of manpower (wanna run thusand benches - you welcomed!) unallow to get strong boundaries what will be work better where.
Strange you did not asked that question on 5 CUDA apps introduction - they do exactly same of capable hardware with CUDA23 pretty soon out of game on FERMI+.
ID: 1790680 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6325
Credit: 106,370,077
RAC: 121
Russia
Message 1790681 - Posted: 26 May 2016, 20:49:58 UTC - in response to Message 1790677.  
Last modified: 26 May 2016, 20:51:25 UTC

They'd want one, maybe two applications per project's science range. Because with 50+ projects, you don't want people to download 750MB of installer including 60 applications per project.


When any iPhone will support OpenCL we can return to this.
Try to release at least SOMETHING with Apple.. good luck with that but I don't hold my breath.

P.S. and regarding your funny ignorance about what SoG means... use the search they say? ;)
ID: 1790681 · 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 1790683 - Posted: 26 May 2016, 20:54:57 UTC - in response to Message 1790677.  

Double-check whether all of the applications you are referring to by plan_class names are actually different binary executables. I think they probably are, this time round, but it's as well to be sure. In earlier incarnations, sometimes the same app appeared in different clothes - e.g. so that an OpenCL app could present and be run as a straight ATI/CAL app for the benefit of a pre-OpenCL client.

I think that the best current answer is more along the lines of "no-one can predict which application will perform best on a given host, given the variety of hardware platforms (GPU + host CPU/motherboard) run by volunteers here - which greatly exceeds the number of platforms run by testers". So Eric lets BOINC work it out by itself.
ID: 1790683 · 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 1790780 - Posted: 27 May 2016, 3:38:12 UTC

Trying to add to the discussion, by comparing the CudaMB situation:

None of the applications barring stock CPU have very sophisticated dispatch mechanisms as yet. That makes for some pretty costly maintenance of number of builds on each platform.

In the Cuda case, which for now still suffers this build creep, I *try* to limit to builds that make sense, knowing that number of builds costs focus, project resources, confusion, and introduces more points of failure, While in the Cuda case ongoing decreasing performance with newer Cuda versions and baseline code.

The need to unify/streamline all of (as much as practical anyway) that became pressing with Maxwell generation, and possibly approaching critical with Pascal. This is simply because the architectures over the generations from initial Cuda devices (G80) through Modern ones have very significant differences in best ways to use the device. (Small example, G80 = no streams & hates Windows, Pascal- Must use streams and seems to be a Windows+Vulkan beast)

Researching & building infrastructure to:
- Allow putting install-time/first-run/profile-driven/run-time dispatch
- Plugin infrastructure and threading support to ease future scalability (for unknown architectures)
- fewer, more dynamic, builds that are more flexible
- simplified cross platform build system and deployment

Are things that the existing boinc infrastructure doesn't do for the developers, and indeed much of the stock CPU app capabilities here to achieve that were contributed well before my time.

A bit more generalisation and streamlining will help, though I can vouch it's far more intellectually challenging than churning out bespoke applications like sausages.
"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: 1790780 · Report as offensive
Admiral Gloval
Avatar

Send message
Joined: 31 Mar 13
Posts: 20152
Credit: 5,308,449
RAC: 0
United States
Message 1791085 - Posted: 28 May 2016, 1:03:14 UTC - in response to Message 1790681.  

P.S. and regarding your funny ignorance about what SoG means... use the search they say? ;)

I had the same question tovarisch and got a very long list. Shades of Green mean anything?

ID: 1791085 · Report as offensive
Profile Jord
Volunteer tester
Avatar

Send message
Joined: 9 Jun 99
Posts: 15184
Credit: 4,362,181
RAC: 3
Netherlands
Message 1791261 - Posted: 28 May 2016, 13:53:44 UTC - in response to Message 1790680.  

Answering in small bits, so Raistmer doesn't have to read big posts.

Raistmer wrote:
To answer question: you really need to get familiar with how BOINC selects app for performance.

Ageless wrote:
It's not just for my understanding, but also for total newbies, or people who do read here - and wonder about the same thing

Mere users don't really need to dive into the highly technical BOINC documentation to get an answer to their question.
ID: 1791261 · Report as offensive
Profile Jord
Volunteer tester
Avatar

Send message
Joined: 9 Jun 99
Posts: 15184
Credit: 4,362,181
RAC: 3
Netherlands
Message 1791262 - Posted: 28 May 2016, 13:54:05 UTC - in response to Message 1790680.  

Raistmer wrote:
there is some difference in app that each suits different hardware better

OpenCL applications run on any OpenCL capable piece of hardware, as long as there are drivers for it and it's recognized as OpenCL capable. Essentially, an OpenCL application for an Nvidia GPU should be able to run on an AMD GPU, on a multi-core CPU, on any non-GPU co-processor and anything else that's OpenCL capable. Or as the Wikipedia page about it says: "Open Computing Language (OpenCL) is a framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), field-programmable gate arrays (FPGAs) and other processors or hardware accelerators. OpenCL specifies a programming language (based on C99) for programming these devices and application programming interfaces (APIs) to control the platform and execute programs on the compute devices. OpenCL provides a standard interface for parallel computing using task-based and data-based parallelism."

I hope you know what heterogeneous means.

If you so much want to suit all the different hardware better, then do so through the Lunatics optimized applications range, but leave it out of the stock applications.
ID: 1791262 · Report as offensive
Profile Jord
Volunteer tester
Avatar

Send message
Joined: 9 Jun 99
Posts: 15184
Credit: 4,362,181
RAC: 3
Netherlands
Message 1791263 - Posted: 28 May 2016, 13:54:32 UTC - in response to Message 1790680.  
Last modified: 28 May 2016, 14:00:40 UTC

Raistmer wrote:
Strange you did not asked that question on 5 CUDA apps introduction

Why is that strange? I don't have an Nvidia GPU. Had you taken the time to read my post(s) you would've seen I have removed the anonymous platform file, reset the project and am now running some stock work on my AMD HD7870 only.
ID: 1791263 · Report as offensive
Profile Jord
Volunteer tester
Avatar

Send message
Joined: 9 Jun 99
Posts: 15184
Credit: 4,362,181
RAC: 3
Netherlands
Message 1791264 - Posted: 28 May 2016, 13:55:22 UTC - in response to Message 1790680.  

Raistmer wrote:
To answer question: you really need to get familiar with how BOINC selects app for performance.

Ageless wrote:
It's not just for my understanding, but also for total newbies, or people who do read here - and wonder about the same thing

Mere users don't really need to dive into the highly technical BOINC documentation to get an answer to their question.
ID: 1791264 · Report as offensive
Profile Jord
Volunteer tester
Avatar

Send message
Joined: 9 Jun 99
Posts: 15184
Credit: 4,362,181
RAC: 3
Netherlands
Message 1791265 - Posted: 28 May 2016, 13:55:43 UTC - in response to Message 1790681.  

Raistmer wrote:
P.S. and regarding your funny ignorance about what SoG means... use the search they say? ;)

Oh, I know what it means, but since it must be a direct translation from something in Russian, it doesn't make any sense in English. You should've called it "Stargazing one's Gaussians" instead of "Signals on GPU", to stay in the spirit of Seti@Home.
ID: 1791265 · Report as offensive
Profile Mike Special Project $75 donor
Volunteer tester
Avatar

Send message
Joined: 17 Feb 01
Posts: 34253
Credit: 79,922,639
RAC: 80
Germany
Message 1791269 - Posted: 28 May 2016, 14:11:30 UTC - in response to Message 1791265.  
Last modified: 28 May 2016, 14:12:32 UTC

Raistmer wrote:
P.S. and regarding your funny ignorance about what SoG means... use the search they say? ;)

Oh, I know what it means, but since it must be a direct translation from something in Russian, it doesn't make any sense in English. You should've called it "Stargazing one's Gaussians" instead of "Signals on GPU", to stay in the spirit of Seti@Home.


Not sure ?

To me it makes perfect sense but i`m german tho ?

Whats done on CPU with non_SoG builds will be done on GPU with SoG builds.
For GPU apps quite interesting IMHO.


With each crime and every kindness we birth our future.
ID: 1791269 · Report as offensive
kittyman Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 9 Jul 00
Posts: 51468
Credit: 1,018,363,574
RAC: 1,004
United States
Message 1791272 - Posted: 28 May 2016, 14:21:52 UTC

Please stop fighting and get back to coding, perhaps?
Maybe the diversity of hardware requires more apps than some would realize.
As long as it all works, this is a rather stupid question in the first place.

Maybe some are test apps. Maybe some didn't work well.

Maybe we need twenty different apps//.
"Freedom is just Chaos, with better lighting." Alan Dean Foster

ID: 1791272 · Report as offensive
Profile Mike Special Project $75 donor
Volunteer tester
Avatar

Send message
Joined: 17 Feb 01
Posts: 34253
Credit: 79,922,639
RAC: 80
Germany
Message 1791274 - Posted: 28 May 2016, 14:25:55 UTC

Fighting ?

I just answered a question.
And to be fair its my responsibilty also as an alpha tester.


With each crime and every kindness we birth our future.
ID: 1791274 · Report as offensive
1 · 2 · 3 · 4 · Next

Message boards : Number crunching : Why need 5 different stock AMD OpenCL GPU applications?


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