Radeon Vega vs Astropulse on Linux

Questions and Answers : GPU applications : Radeon Vega vs Astropulse on Linux
Message board moderation

To post messages, you must log in.

AuthorMessage
Profile Henry Pfeil
Avatar

Send message
Joined: 12 Oct 00
Posts: 3
Credit: 719,965
RAC: 2
United States
Message 2007736 - Posted: 16 Aug 2019, 20:35:58 UTC

OpenCL Mesa 1.19.2, AMD RAVEN (DRM 3.27.0, 4.19.62, LLVM 8.0.1)

Astropulse work units hang because they try to compile the OpenCL Kernel. I can compile openCL programs written in C with an openCL kernel, so I have to ask why Boinc cannot compile an Astropulse openCL kernel. I use
gcc –lOpenCL or g++ -lOpenCL

The AstroPulse v7 READ...opencl_ati.100 proudly proclaims:
"It is mandatory to have the AMD Catalyst fglrx driver for linux"
There is no AMD Catalyst fglrx driver for linux. This obsolete fglrx driver fell by the wayside when AMD absorbed ATI. The fglrx driver is for older ATI graphics cards (2008-2014?).
The Linux Kernel includes the amdgpu module. According to the Khronos CL spec, you can look in /etc/OpenCL/vendors where on my computer you will find mesa.cl, with the single line: libMesaOpenCL.so.1
The Kronos site https://github.com/KhronosGroup/OpenCL-ICD-Loader
contains the official OpenCL ICD Loader that links /usr/lib64/libOpenCL to the library contained in the vendors file.
I'd like to process work units from AstroPulse using my "AMD Ryzen 5 2500 cpu with RadeonVega Mobile Gfx", but I can not until you update your software to Khronos OpenCL standards. Abandon, Ye, the fglrx driver! I wrote a wrapper for AstroPulse_Kernels_r2751.cl compiled it an ran tests using your kernel. Would that AstoPulse would do the same.
ID: 2007736 · Report as offensive
rob smith Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer moderator
Volunteer tester

Send message
Joined: 7 Mar 03
Posts: 20335
Credit: 416,307,556
RAC: 380
United Kingdom
Message 2007741 - Posted: 16 Aug 2019, 21:24:23 UTC

First BOINC does not write, produce or maintain the applications that you are talking about - they are produced and maintained by SETI@Home.
The actual development of many, if not most, of the current applications was actually done by volunteers who spend their own time, skills and resources developing and maintaining the applications on behalf of the project.
So, if you feel you have a solution to the non-availability of a suitable application to process AstoPulse tasks, under Linux, on the current crop of AMD GPUs then you should address your ideas to Eric Korpela (the SETI@Home project director) who will point you in the direction of the current "lead developer" for such applications. You can find his contact details by searching in "community/user search" - he's pretty busy, but will normally get back to you in a few days if he's in the lab.
Bob Smith
Member of Seti PIPPS (Pluto is a Planet Protest Society)
Somewhere in the (un)known Universe?
ID: 2007741 · Report as offensive
Profile Henry Pfeil
Avatar

Send message
Joined: 12 Oct 00
Posts: 3
Credit: 719,965
RAC: 2
United States
Message 2007886 - Posted: 17 Aug 2019, 16:40:28 UTC - in response to Message 2007741.  

I apologise for posting in the wrong forum. This URI is setiathome.berkeley.edu, nothing that would lead me to suspect this was a BOINC forum. With "AMD/ATI" no longer supporting Linux, I had to do a lot of digging to find out why the AstroPulse wu hangs, taking up a processor slot with no progress. I'm merely reporting my findings here. Had I access to the source code, perhaps I could help with migrating the OpenCL code to Mesa. Thank you for your kind suggestion offering contact information of which I was unaware. I appreciate your help!
ID: 2007886 · Report as offensive
Profile Keith Myers Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 29 Apr 01
Posts: 12966
Credit: 1,160,866,277
RAC: 1,873
United States
Message 2007889 - Posted: 17 Aug 2019, 17:34:17 UTC - in response to Message 2007886.  

I apologise for posting in the wrong forum. This URI is setiathome.berkeley.edu, nothing that would lead me to suspect this was a BOINC forum. With "AMD/ATI" no longer supporting Linux, I had to do a lot of digging to find out why the AstroPulse wu hangs, taking up a processor slot with no progress. I'm merely reporting my findings here. Had I access to the source code, perhaps I could help with migrating the OpenCL code to Mesa. Thank you for your kind suggestion offering contact information of which I was unaware. I appreciate your help!

I don't know where you are getting the idea that AMD is not supporting Linux. They are one of the largest contributors to the Linux graphics codebase. They have enthusiastically joined the open-source world.

As far as your Seti applications not running, they do if you install the correct drivers for your card. The only cards that are not running compute applications correctly now are the new Navi 5700/5700XT cards where the computed results are wrong. I am sure that AMD and the Khronos group are working hard on fixing that temporary problem.

All you have to do is read the daily news articles or search for AMD on the Phoronix.com website to see the huge amount of changes to the AMD drivers that the open source contributors are publishing daily.
https://www.phoronix.com/scan.php?page=home
Seti@Home classic workunits:20,676 CPU time:74,226 hours

A proud member of the OFA (Old Farts Association)
ID: 2007889 · Report as offensive
Profile Jord
Volunteer tester
Avatar

Send message
Joined: 9 Jun 99
Posts: 15183
Credit: 4,362,181
RAC: 3
Netherlands
Message 2007926 - Posted: 17 Aug 2019, 21:15:08 UTC - in response to Message 2007886.  
Last modified: 17 Aug 2019, 21:16:01 UTC

Had I access to the source code, perhaps I could help with migrating the OpenCL code to Mesa.
The trouble with that is that both BOINC and the science applications here use the default OpenCL, not Mesa OpenCL. There is a distinct difference between the two, and both BOINC and the science application have to be made aware of that and compiled to use the correct OpenCL version. At Seti all OpenCL applications use the default OpenCL, not Mesa.

The BOINC source code can be got from https://github.com/BOINC/boinc, with building instructions at https://boinc.berkeley.edu/trac/wiki/CompileClient
The Seti source code from https://setiathome.berkeley.edu/sah_porting.php

Do know that you best test applications you make at the Seti Beta project, so you don't trash a lot of bad data into the science database.
You can find Seti Beta at https://setiweb.ssl.berkeley.edu/beta/
ID: 2007926 · Report as offensive
Profile Keith Myers Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 29 Apr 01
Posts: 12966
Credit: 1,160,866,277
RAC: 1,873
United States
Message 2007929 - Posted: 17 Aug 2019, 21:33:49 UTC

I think one of the best resources for Linux OpenCL information is at Einsteinathome.org because the AMD/ATI cards do so much better on the science apps compared to Nvidia because of the better math performance. The E@H science apps are all OpenCL based. I have a message post bookmarked from a Linux E@H guru that has some good information in it. Seems that AMD is like Microsoft in not necessarily automatically installing OpenCL support in the drivers. You have to invoke it specially during installation for a lot of the drivers. The post is here:

https://einsteinathome.org/goto/comment/169272

I did this from (L)Ubuntu 18.04

From the AMD drivers download page,
https://www.amd.com/en/support
I entered my GPU model (RX 570) and got to here:
https://www.amd.com/en/support/graphics/radeon-500-series/radeon-rx-500-series/radeon-rx-570

It doesn't seem to matter the exact GPU model, because the drivers work fine for my RX 460, but you do need to enter some model to get to the driver page.

From the Ubuntu x86 64-bit section you download the Ubuntu 18.04.1 driver tar.gz file (the AMDGPU graphics stack). On that web page the link for installation instructions link is:
https://amdgpu-install.readthedocs.io/en/latest/
I didn't read the instructions at first (typical!) and instead just poked around in the unzipped folder and clicked on what turned out to be the installer script (can't remember the exact file name), and off it went.

After that was done, I then read the installation instructions (of course!) and on the "Using the amdgpu-install Script" page saw an option for installing OpenCL. So I did like they said and from within the AMD graphics stack directory used the terminal to:
$ ./amdgpu-install -y --opencl=legacy

When I initially (blindly) double clicked on the amdgpu installer I think I invoked the amdpgu-install script, not the amdgpu-pro-install script. If so, then I must have installed the All-Open stack, which included Mesa OpenGL and Mesa multimedia, but not OpenCL, hence my separate installation of OpenCL. From AMD's instructions, invoking the amdgpu-pro script installs the Pro Stack, which includes Pro OpenGL, Pro OpenCL, and Pro Vulcan (Pro OpenCL supports Vega 10 and later). I guess those are all AMD proprietary drivers? Several web discussions I had read seem to have a dim view of AMDGPU-Pro, so maybe using AMD's All-Open stack is the trick.

These AMD docs show the installation commands for OpenCL

https://amdgpu-install.readthedocs.io/en/latest/install-overview.html?highlight=OpenCL

https://amdgpu-install.readthedocs.io/en/latest/install-script.html?highlight=OpenCL#specifying-an-opencl-implementation


There also is the separate ROCm (Radeon Open Compute) drivers available as open source for the most cutting edge performance and most recent hardware.

https://rocm.github.io/ROCmInstall.html
Seti@Home classic workunits:20,676 CPU time:74,226 hours

A proud member of the OFA (Old Farts Association)
ID: 2007929 · Report as offensive
Profile Justin Turner Arthur

Send message
Joined: 20 Oct 03
Posts: 12
Credit: 3,929,052
RAC: 2
United States
Message 2017763 - Posted: 4 Nov 2019, 5:33:36 UTC - in response to Message 2007929.  

With the exception of Astropulse, ATI/AMD OpenCL tasks are still not being sent to ROCm users. If there's anything we can do to help validate the platform so it can be made part of "the plan", let us know!
ID: 2017763 · Report as offensive

Questions and Answers : GPU applications : Radeon Vega vs Astropulse on Linux


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