fireice-uk / xmr-stak

Free Monero RandomX Miner and unified CryptoNight miner
GNU General Public License v3.0
4.06k stars 1.79k forks source link

No OpenCl Platform Found (Different distro, same problems) #1593

Closed BonitaTerror closed 6 years ago

BonitaTerror commented 6 years ago

Please provide as much as possible information to reproduce the issue.

Basic information

Using Ubuntu 18.04

Issue with the execution

AMD OpenCl issue

  run `clinfo` and add the output here

terminate called after throwing an instance of 'cl::Error' what(): clGetPlatformIDs Aborted (core dumped)

I just transitioned over from fedora to try my luck with Ubuntu seeing as more people are using it with this software(and I was also recommended to do so by Spudz76) I have gotten a little farther in installing the amdgpu pro drivers but I still seem to get the same errors when running being in the following:

[2018-05-23 19:15:18] : Mining coin: monero7 [2018-05-23 19:15:18] : WARNING: UNKNOWN_ERROR when calling clGetPlatformIDs for number of platforms. [2018-05-23 19:15:18] : WARNING: No OpenCL platform found. [2018-05-23 19:15:18] : WARNING: No AMD OpenCL platform found. Possible driver issues or wrong vendor driver. [2018-05-23 19:15:18] : WARNING: backend AMD (OpenCL) disabled. [2018-05-23 19:15:18] : Starting 1x thread, affinity: 0. [2018-05-23 19:15:18] : hwloc: memory pinned [2018-05-23 19:15:18] : Starting 1x thread, affinity: 1. [2018-05-23 19:15:18] : MEMORY ALLOC FAILED: mmap failed [2018-05-23 19:15:18] : hwloc: memory pinned [2018-05-23 19:15:18] : Fast-connecting to pool:supportxmr.com:7777 pool ... [2018-05-23 19:15:18] : MEMORY ALLOC FAILED: mmap failed [2018-05-23 19:15:18] : SOCKET ERROR - [pool:supportxmr.com:7777] CONNECT error: GetAddrInfo: Servname not supported for ai_socktype

I really appreciate all the help so far

BonitaTerror commented 6 years ago

Also if people hardly ever run into this issue on Ubuntu 16.04 or 17 I am definitely more willing to switch rather than fumbling around more

BonitaTerror commented 6 years ago

I've switched over to Ubuntu 16.04.3 and I am using the 18.10 drivers that someone else found to have worked in another issue. Unfortunately I am getting the exact same error as before

BonitaTerror commented 6 years ago

Alright!! Got it working thanks to an earlier issue, by installing the amd drivers with the argument --opencl=legacy Not sure if that's the best practice but it's working for now. If it is a bad idea let me know, however I will not be able to change it for a few days as I'm out of the house. Thank you all for your support!!

Spudz76 commented 6 years ago

Legacy is the only option that works, unless you have "PCIe Atomics" support in both the CPU and Motherboard chipset (rare except Xeon + expensive Server platforms + only the main 16x CPU-direct slot)

Non-legacy mode is "ROCm" and that is the OpenCL that requires PCIe Atomics, which i3 doesn't have even if your motherboard did, so it won't work. The dmesg command shows kernel log, and dmesg | grep -i amd should filter for anything with 'amd' (case insensitive). The ROCm driver will have said "no PCIe Atomics, giving up" or such in there.

Mining doesn't need PCIe Atomics whatsoever, but the ROCm driver is designed for image processing and/or machine learning and/or taking over the world with AI whereas mining is very small data (no images/videos) and tight looping of the same math over and over and over as fast as possible. Legacy driver does that better, new driver is optimized for the other use-cases and completely ignores mining (usually 1x on risers, no atomics, slot in slowest bus-clock mode, who cares it's under 16KB of data sent and retrieved). ROCm also expects 16x because it only wants to operate if it can be the fastest, bad assumption.

ROCm has some advantages with Vega but not for RX/R9/earlier (yours) so legacy is actually best and you've arrived at the correct setup.