Message boards :
News :
New GPU OpenCL versions available
Message board moderation
Previous · 1 · 2 · 3 · 4 · 5 · 6 · Next
Author | Message |
---|---|
Send message Joined: 8 Jul 11 Posts: 1344 Credit: 532,746,960 RAC: 547,466 |
Hi Eric Driver and mg13[HWU], I am 99.9% sure the problem with Paolo's card is its age. Several volunteers tested this offline and it was found that cards produced before ~2014 had issues, no matter what driver version was used. The architecture would be a better metric than age (although they are correlated), but I don't have that information. I suggest not wasting any more time fiddling with drivers. mg13 has a different problem. He has a newer card that requires the older driver version to work. This is because of a change that AMD made to their openCL implementation in their latest drivers. |
Send message Joined: 29 Apr 20 Posts: 4 Credit: 3,014,013 RAC: 0 |
Hi Administrator, I have got AMD Radeon HD 8790M (2048MB) OpenCL: 1.2 and I cannot get any jobs for it:( Is it OK? If so, could you publish a list of supported cards or at least requirements for cards to be useful for the projct, please? By the way, it would be great to support Intel GPUs, there are so many around the world in every core processor:) Thanks Adam |
Send message Joined: 8 Jul 11 Posts: 1344 Credit: 532,746,960 RAC: 547,466 |
Hi Administrator, There should be work. Do you have the box checked to allow beta apps? It would be difficult to publish a list of supported cards, since there are so many out there. What I can say is that cards produced after about 2014 seem to work most of the time. I haven't had the time yet to figure out a better discriminator, but my best guess is that the GCN architecture version plays a role. It's hard to say if your card will work properly. Best to keep an eye on it the first time to make sure it doesn't hang. In theory, the Intel GPUs should be easy to implement as long as they support openCL 1.2. I plan to look into that after I improve the AMD version. |
Send message Joined: 29 Apr 20 Posts: 4 Credit: 3,014,013 RAC: 0 |
Thanks for your quick reply. Indeed I did not tick the beta version software box. However, I downloaded the new software, new jobs and it does not work. It starts working, going very well up to 96% and then return to 3.56% and is frozen at that value without any changes. I work on wu_sf3_DS-15x271_Grp4189113of6553600. I have tried to restart many times, but always the same effect:( Moreover, the process takes more than 4GB of my memory which is a little bit high. Related to the rest of your message, I think it would be good if you could publish an open ranking with user confirmation that a card works or not simply based on experience. |
Send message Joined: 8 Jul 11 Posts: 1344 Credit: 532,746,960 RAC: 547,466 |
Thanks for your quick reply. Indeed I did not tick the beta version software box. Sounds like your card should be added to the doesn't work column. And yes, I can publish something when I find time. I'm not sure exactly what you are suggesting, but I can start a thread that users can report on and I could post the list on a web page. I also have some ideas for making the openCL work better. For example, breaking the current code into smaller kernels. The hope would be to get the older cards working. |
Send message Joined: 29 Apr 20 Posts: 4 Credit: 3,014,013 RAC: 0 |
Hi Eric, thanks for your reply which is not good for me as I need to abort 21 tasks:( I will continue with CPU support for your project, but it is not massive:( GPUs are much more effective for math projects. And yes, I can publish something when I find time. I'm not sure exactly what you are suggesting, but I can start a thread that users can report on and I could post the list on a web page. I think the best solution would be a simple spread sheet with GPU names and tick boxes that users could confirm if it works or not. Honestly there are not so many GPUs in the market to consider, I believe less than 100. I can imagine your time is very limited, so maybe you need some volunteers :) I also have some ideas for making the openCL work better. For example, breaking the current code into smaller kernels. The hope would be to get the older cards working. I think it is a great idea, there are so many people with older cards which can help and there are no many projects they can be used. CPU version takes very small amoung of resources (probably the smallest requirements among all BOINC projects) and can be run on very old machines, so it would be great to have similar GPU version. For instance I have got more than old Geforce 210 cards which I could use for your project. And obviously Intel GPUs. Everyone who has got Intel Core process has got a GPU which is pretty powerful and at the moment just 2 BOINC projects can use that feature.... Thanks! |
Send message Joined: 8 Jul 11 Posts: 1344 Credit: 532,746,960 RAC: 547,466 |
I think the best solution would be a simple spread sheet with GPU names and tick boxes that users could confirm if it works or not. Honestly there are not so many GPUs in the market to consider, I believe less than 100. I can imagine your time is very limited, so maybe you need some volunteers :) I'm not sure how to implement a spread sheet with tick boxes. Do you mean a web form for users to click boxes? Integrating that into the server web code would be time consuming, and maintaining it would be a nightmare during server upgrades. |
Send message Joined: 29 Apr 20 Posts: 4 Credit: 3,014,013 RAC: 0 |
So, you can do that in a simpler way: Card name (type) + votes If the card does not work, there will be more negative votes than positive, if it works more positive, simple as that. Then, you only need to keep number of votes and nothing more. |
Send message Joined: 8 Jul 11 Posts: 1344 Credit: 532,746,960 RAC: 547,466 |
So, you can do that in a simpler way: But the issue is how to get the votes. I still think the easiest way is a forum thread where people can post whether or not their card worked. Then I can link to a summarized list. |
Send message Joined: 24 May 19 Posts: 38 Credit: 1,409,620 RAC: 302 |
Update. AMD has released a new beta version of the drivers, version 20.5.1 and I tried it, it works, but finished processing the GPU remains 99% busy, after which it crashes the PC and then restarts. This problem does so at every WU processed. OpenCL: AMD/ATI GPU 0: AMD Radeon RX 5700 XT 50th Anniversary (driver version 3075.12 (PAL,LC), device version OpenCL 2.0 AMD-APP (3075.12), 8176MB, 8176MB available, 4685 GFLOPS peak). Reported issue to AMD and I invite anyone with the same problem, to do the same. Let's see if they solve the problem to the fury of reports. I also upgraded Windows 10 to the 2004 version and the BOINC client to version 7.16.7 all 64-bit. |
Send message Joined: 8 Jul 11 Posts: 1344 Credit: 532,746,960 RAC: 547,466 |
Update. Thanks for the update! |
Send message Joined: 24 May 19 Posts: 38 Credit: 1,409,620 RAC: 302 |
Double upgrade. AMD has released a new beta version of the drivers, version 20.5.1 HWS, I tried but does not work, the percentage of processing progress of the application stops at 0.542% and if it stops or pauses the processing and then therefore the application, in driver metrics the GPU usage gets stuck at 99% and after a few minutes crashes the system and restarts. OpenCL: AMD/ATI GPU 0: AMD Radeon RX 5700 XT 50th Anniversary (driver version 3075.12 (PAL,LC), OpenCL 2.0 AMD-APP device version (3075.12), 8176MB, 8176MB available, peak of 4685 GFLOPS). After a few days AMD released a new beta version of the drivers, version 20.7.1 and this works strangely: the percentage of application processing progress stops at 0.542% and if you stop or pause processing and then then pause the application, in driver metrics GPU usage remains stuck at 99% for just over a minute after that returns to 0% as it is right, without system locks or restarts. When you restart the application, the percentage starts at 0.542% and then stays still, while the processing time starts from zero but advances. I also noticed that by opening the Microsoft Edge application (with active in the settings "SYSTEM>uses hardware acceleration when available" ), the GPU usage driver metrics stopped between 1 and 4%, and the application's processing percentage resumed to advance until the WU was completed. It also created the checkpoint file. When processing a new WU starts, the processing percentage stays at zero for about one minute, then suddenly advances more than 4% and then back to 0.189% after 1-2 seconds and then stay there still. OpenCL: AMD/ATI GPU 0: AMD Radeon RX 5700 XT 50th Anniversary (driver version 3110.7 (PAL,LC), device version OpenCL 2.0 AMD-APP (3110.7), 8176MB, 8176MB available, 9370 GFLOPS peak) Reported both issues to AMD and I invite anyone with the same problem, to do the same. Let's see if they solve the problem to the fury of relationships. |
Send message Joined: 24 May 19 Posts: 38 Credit: 1,409,620 RAC: 302 |
Double upgrade. AMD has released a new beta version of the drivers, the 20.8.1 and after a few days released another new beta version of the drivers, the 20.8.2 and both work oddly: the percentage of application processing progress stops at x%, and if you pause processing and then then the application, in driver metrics GPU usage gets stuck at 99% for just over a minute after that back to 0% as it is right, without system locks or restarts. When you restart the application, the percentage starts from x% where it stopped first and then remains stuck there, while the processing time starts from scratch but advances. The same thing happens if you pause all ongoing processing of the BOINC client and then restart. Whereas if you close the BOINC client and therefore all the processing in progress and after about in the minute, when the GPU usage driver metrics drop from 99% to 0%, you reopen the BOINC client and the processing starts again, the percentage and processing time of the application start from scratch and after about a minute, then suddenly advances to x% and then stay there stuck, while time advances. I also noticed that by opening the Microsoft Edge application (with GPU hardware acceleration set), the GPU usage driver metrics stopped at 1 to 4%, and the application's processing percentage resumed to advance until the WU was completed. It also created the checkpoint file. When processing a new WU starts, the processing percentage stays at zero for about one minute, then suddenly advances x% and then stays there stuck as time progresses. Both versions, OpenCL: AMD/ATI GPU 0: AMD Radeon RX 5700 XT 50th Anniversary (driver version 3110.7 (PAL,LC), OpenCL 2.0 AMD-APP device version (3110.7), 8176MB, 8176MB available, 9370 GFLOPS peak) Reported both issues to AMD and I invite anyone with the same problem to do the same. Let's see if they solve the problem to the fury of relationships. |
Send message Joined: 24 May 19 Posts: 38 Credit: 1,409,620 RAC: 302 |
Update. AMD has released a new beta version of the drivers, the 20.8.3 and works like the recent versions 20.8.1 and 20.8.2. OpenCL: AMD/ATI GPU 0: AMD Radeon RX 5700 XT 50th Anniversary (driver version 3110.7 (PAL,LC), device version OpenCL 2.0 AMD-APP (3110.7), 8176MB, 8176MB available, 9370 GFLOPS peak). Reported issue to AMD and I invite anyone, with the same problem, to do the same. Let's see if they solve the problem to the fury of reports. |
Send message Joined: 5 Oct 19 Posts: 11 Credit: 2,176,974 RAC: 0 |
My RX 570 with the Radeon 20.9.1 drivers (Win7 64-bit) is completing them OK in about 20 minutes. It consumes 66 watts according to GPU-Z. https://numberfields.asu.edu/NumberFields/results.php?hostid=1918394&offset=0&show_names=0&state=4&appid= My GTX 1060 (Ubuntu 18.04.5) is completing them about twice as fast. And it consumes about 58 watts according to nvidia-smi -l. https://numberfields.asu.edu/NumberFields/results.php?hostid=2726664&offset=0&show_names=0&state=4&appid= I don't know how that compares to a CPU core for efficiency, but it would be an interesting test. |
Send message Joined: 8 Jul 11 Posts: 1344 Credit: 532,746,960 RAC: 547,466 |
My RX 570 with the Radeon 20.9.1 drivers (Win7 64-bit) is completing them OK in about 20 minutes. You will also notice the AMD version has a much smaller CPU time than the Nvidia version, meaning the AMD version uses less of the CPU. Note that Nvidia cards operate the same with both the OpenCL and Cuda versions, so the difference between AMD and Nvidia is due to their drivers (the openCL implementation is part of the driver). |
Send message Joined: 5 Oct 19 Posts: 11 Credit: 2,176,974 RAC: 0 |
You will also notice the AMD version has a much smaller CPU time than the Nvidia version, meaning the AMD version uses less of the CPU. Note that Nvidia cards operate the same with both the OpenCL and Cuda versions, so the difference between AMD and Nvidia is due to their drivers (the openCL implementation is part of the driver). Yes, the RX 570 uses only 26% of a CPU core (i7-4771), whereas the GTX 1060 uses 99.6% of a Ryzen 2700 core. CUDA used to use less CPU power, but that was a few years ago. Maybe they changed the driver, or the options for using it. |
Send message Joined: 8 Jul 11 Posts: 1344 Credit: 532,746,960 RAC: 547,466 |
You will also notice the AMD version has a much smaller CPU time than the Nvidia version, meaning the AMD version uses less of the CPU. Note that Nvidia cards operate the same with both the OpenCL and Cuda versions, so the difference between AMD and Nvidia is due to their drivers (the openCL implementation is part of the driver). Someone pointed out to me that CUDA has a blockingSync flag that limits the cpu usage without much hit to the performance. My first attempt at using it caused a crash and I haven't gone back to it yet. It's on my to-do list along with a hundred other things. |
Send message Joined: 28 Oct 11 Posts: 180 Credit: 253,392,839 RAC: 179,145 |
Someone pointed out to me that CUDA has a blockingSync flag that limits the cpu usage without much hit to the performance. My first attempt at using it caused a crash and I haven't gone back to it yet. It's on my to-do list along with a hundred other things.Synchronisation is definitely one of the black arts of GPU programming. David Anderson wrote a useful primer for BOINC application programmers 10 years ago - https://boinc.berkeley.edu/trac/wiki/GpuSync - but so far as I know has never revisited the subject since. The native CUDA language for NVidia probably has the best support for various synchronisation methods - since David wrote, Cuda 5.0 has added stream callbacks, and I'm told they're the most efficient - but I've never seen them used in a BOINC science application. I've also been told they were not added to the OpenCL interface (though https://www.khronos.org/registry/OpenCL/sdk/1.1/docs/man/xhtml/clSetEventCallback.html suggests otherwise). The CPU load of a GPU application varies hugely according to the architecture of the GPU, the programming language chosen, and the sync model used. I tried to start a debate on tackling those issues within BOINC a year ago - https://github.com/BOINC/boinc/issues/2949 - but interest has been, to say the least, minimal. We are now up to CUDA 11.1, with doubled FP32 pathways on the RTX 30x0 range, but still nothing moves - it's all left to individual project programmers like yourself, with hundreds of other priorities to juggle. |
Send message Joined: 24 May 19 Posts: 38 Credit: 1,409,620 RAC: 302 |
Update. AMD has released a new beta version of the drivers (WIN 10 64 bit vers 2004), the 20.9.1 and the 20.9.2 and both work like the latest version 20.8.3. In addition, AMD has also released a new Recommended (WHQL) version of the drivers, the 20.9.1 and this also works as the aforementioned 20.8.3. OpenCL: AMD/ATI GPU 0: AMD Radeon RX 5700 XT 50th Anniversary (driver version 3110.7 (PAL,LC), device version OpenCL 2.0 AMD-APP (3110.7), 8176MB, 8176MB available, 9370 GFLOPS peak). Reported issue to AMD and I invite anyone, with the same problem, to do the same. Let's see if they solve the problem to the fury of reports. |