[SOLVED] Slackware64 current (15.0) OpenCL added to stock Mesa amdgpu - call for testing
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Amazingly enough, it seems this also works on my laptop with a 2500U and integrated Vega 8 graphics. Also tested with hashcat and was able to break some easy MD5 hashes
In just a few million years, I'll have broken SSL with this thing and it only cost me $500
Amdgpu cards now seem to have decent Slackware-current display drivers (w/multiple monitors) so I'll build/test a.s.a.p. It appears drivers' source code archive wasn't linked, but I only find 20.10.1028677, not your 20.10.1048554...
He has the download link listed in his .info file, unfortunately, AMD requires you to navigate through their site to download it. You can mimic that using the following wget line:
Built/installed w/King Beowulf's script; ran clinfo: no error.
Testing BOINC... accidentally disabled AMD instead of Nvidia GPUs so have to wait to see.
Cpulimit & cputool can limit cpu system resources usage; I wish GPUs had a tool... asked if cgroups can (LQ: Linux - Kernel: GPU cgroup?)... which such something is needed to limit some cryptocurrency miners (even ethereum's ethminer) or they take all system resources (an answerer about ethminer said you can choose the number of GPUs but sounded he was using the 'user' term the display/video/graphics card is a 'GPU' rather than containing sometimes tens or more GPUs...)
But before I get ahead of myself, what about basic viewer/configuration tools (to monitor, increase efficiency, prevent overheating, etc.)... anyone able to use radeon-profile or WattmanGTK, etc. for amdgpu?
I'm looking onto GUI and CLI amdgpu monitoring tools for whenever 15.0 goes live on SBo, and whether I decide to go GTK or QT5. Right now, gkrellm can monitor GPU temperature via amdgpu hwmon in '/sys/class/hwmon/hwmon1/' (depending on your motherboard and GPU). On my RX 5700 XT those are exposed via amdgpu@500/tempX ("edge", "junction", and "mem") and amdgpu@500/fan1. ARCH has a nice wiki article: https://wiki.archlinux.org/index.php/AMDGPU#Monitoring.
I played around with WattmanGTK, radeon-profile and tuxclocker. For tuxclocker and wattmangtk, they worked fine with my vega card until the python version in Slackware upgraded at some point where they both broke or I broke them, not sure. Radeon-profile isn't too bad, but the last time I played with it a few months ago, not everything was unlocked on navi in the kernel yet for overclocking. The biggest problem I've run into are some tools like CoreCtl and another gui I can't remember use Qt modules that are either hard to track down or require a ton of other QT modules as dependencies.
Right now I just use a script to set my fan profile, set dpm state and increase my power limit. Haven't gotten to undervolting/overclocking this card yet. For monitoring, I currently use the Mate sensors applet on my panel. When I was tweaking my vega card, I liked the graphing of tuxclocker better than wattmangtk, but liked the tweaking interface the other way around.
And a big thumbs for the Arch wiki page. They helped a lot when I switched back to AMD gpu's. Another good page is the driver documentation page: https://dri.freedesktop.org/docs/drm/gpu/amdgpu.html#. The Module Parameters and GPU Power/Thermal Controls and Monitoring sections were a big help as well.
I built them fine for several linux 5.n, installed, loaded (I assume you have to load them all for BOINC, mining, etc.?) and didn't see any information in boincmgr, but boinc_client says there's a GPU (and different topic, but boinc_client didn't load my configuration I still had saved from boincmgr, even when I specified the directory.) I'd guess this might not work for linux 4.n? (had some minor other problems with various 5.n...)
Nsgminer (GPU mining feathercoin) also worked (got results/cents)... didn't try lolmoner (bitcoin gold) because apparently there's no target/overheat/shutdown temperature options, nor did I try ethminer (ethereum) because from what someone says they define 'GPU' as an entire card rather than the usually tens of GPUs within a card, so it uses all GPU/etc. system resources (then if you only have one card, you can't use X, can't even use keyboard or mouse to reactivate graphics merely for pure text console)... ethminer is a good miner, but more designed for dedicated servers... at least until GPU control groups (GPU cgroups, another thread) or something like cpulimit/cputool is developed & documented more...
I'm running BOINC (via boincmgr, from SBo) on two current installs. This was the reason I wanted to see if stripping out the OpenCL binary components from amdgpu-pro would work, and thus avoid the build system hell that is ROCm. The target for amdgpu-opencl is Slackware64-current, kernel 5.x and newer, to provide a set of OpenCL libraries and ICD to allow GPU computer functionality. There are features from the newer kernel DRM, amdgpu, X.org and Mesa you need to be compatible. Other than Gridcoin ("mining" is done via BOINC science contributions), I'm not so interested in other cryptocurrencies at the moment.
There done seem to be one glitch that may, or may not, occur when using this OpenCL package. I did not remove the MESA OpenCL icd and other components. Running "clinfo":
The MESA open source platform is OpenCL 1.1 Mesa 20.0.6 "Clover" and my amdgpu-opencl package provides OpenCL 2.1 AMD-APP (3075.10) "AMD Accelerated Parallel Processing". Depending on the software using OpenCL, Clover may cause GPU lock/fail to reset, amdgpu and/or radeonsi segfaults, ultimately crashing X.org server. If this happens with BOINC, check "<boinc data directory>/cc_config.xml" for
Code:
<use_all_gpus>1</use_all_gpus>
and set to 0. This is the BOINC default. If you do not have this file, you should be ok as the default is used. BOINC will use the "best" OpenCL GPU it finds:
Code:
25-May-2020 13:45:17 [---] OpenCL: AMD/ATI GPU 0 (ignored by config): Radeon RX 590 Series (POLARIS10, DRM 3.35.0, 5.4.42, LLVM 10.0.0 (driver version 20.0.7, device version OpenCL 1.1 Mesa 20.0.7, 8192MB, 8192MB available, 4550 GFLOPS peak)
25-May-2020 13:45:17 [---] OpenCL: AMD/ATI GPU 1: Radeon RX 590 Series (driver version 3075.10, device version OpenCL 1.2 AMD-APP (3075.10), 8060MB, 8060MB available, 7281 GFLOPS peak)
interesting, on current, KDE4+amdgpu+OpenCL+BOINC seems to crash periodically, both amdgpu and X.org server spits out segfaults. However, Xfce4.12+amdgpu+OpenCL+BOINC on the same box appears stable - at least for the last few days.
Well, heck. I was going to update this and push it up to Slackbuilds.org, but it looks like someone beat me to it: https://www.slackbuilds.org/reposito...es/opencl-amd/ and appears to be a repackage of the Arch package based on the Ubuntu package from AMD. Weird that I did not see that available.
Is it possible that this driver work with an nVidia GPU or is it Radeon specific? I ask because I am trying to build KataGo (Neural Network engine) which requires either the OpenCL backend or CUDA. I first tried the CUDA backend but it turns out my GPU [GeForce GTX 1030] is not supported under Nvidia's CUDA toolkit. I built the complete toolkit and CUDNN libraries only to find this out after the fact. Sigh...
Where can I get the ubuntu tarball to give this a try? i.e. "amdgpu-pro-20.10-1048554-ubuntu-18.04.tar.xz"
bassmadrigal replied "This will only work with supported AMD GPUs. It won't work for Nvidia."
I'd really didn't expect as much... So now I have to figure out either how to kludge CUDA to work with my unsupported GPU *or* update OpenCL so that it sees my GPU. Any suggestions on which track I should try first? This is important for me.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.