ethereum-mining / ethminer

Ethereum miner with OpenCL, CUDA and stratum support
GNU General Public License v3.0
5.97k stars 2.28k forks source link

Issue running ethminer: no OpenCL platforms found + integrated GPU with too low vRAM #522

Closed jamesray1 closed 6 years ago

jamesray1 commented 6 years ago

Scroll to the bottom for the latest issue.

root@james-Streacom:/home/james# ./ethermine.bat
-su: ./ethermine.bat: Permission denied
root@james-Streacom:/home/james# chmod a+x ethermine.bat
root@james-Streacom:/home/james# ./ethermine.bat
./ethermine.bat: line 1: setx: command not found
./ethermine.bat: line 2: setx: command not found
./ethermine.bat: line 3: setx: command not found
./ethermine.bat: line 4: setx: command not found
./ethermine.bat: line 5: setx: command not found
./ethermine.bat: line 6: ethminer.exe: command not found

The ethermine.bat file:

setx GPU_FORCE_64BIT_PTR 0
setx GPU_MAX_HEAP_SIZE 100
setx GPU_USE_SYNC_OBJECTS 1
setx GPU_MAX_ALLOC_PERCENT 100
setx GPU_SINGLE_ALLOC_PERCENT 100
ethminer.exe --farm-recheck 200 -G -S asia1.ethermine.org:4444 -FS us1.ethermine.org:4444 or us1.ethermine.org:14444 -O 0xf3047b2b495e31c1e39f198448ae5f382739264a.JamesRayRig

Ubuntu 17.10 screenshot from 2018-01-09 14-31-58

jean-m-cyr commented 6 years ago

Aren't .bat files for Windows only?

jamesray1 commented 6 years ago

If so, these instructions would be misleading: https://ethermine.org/

jean-m-cyr commented 6 years ago

Indeed they are...

You're not too far off though. In Linux under bash you would use

export GPU_FORCE_64BIT_PTR=0 export GPU_MAX_HEAP_SIZE=100 export GPU_USE_SYNC_OBJECTS=1 export GPU_MAX_ALLOC_PERCENT=100 export GPU_SINGLE_ALLOC_PERCENT=100

Instead of setx. I don't use opencl so I can't say if those actual values are correct.

jamesray1 commented 6 years ago

OK, I'm just running a long tox test on py-evm in the terminal, so once that's done I'll try this.

chfast commented 6 years ago

These are no longer needed:

export GPU_FORCE_64BIT_PTR=0
export GPU_MAX_HEAP_SIZE=100
export GPU_USE_SYNC_OBJECTS=1
export GPU_MAX_ALLOC_PERCENT=100
export GPU_SINGLE_ALLOC_PERCENT=100

Just run ethminer.

efrasyad commented 6 years ago

These are no longer needed:

export GPU_FORCE_64BIT_PTR=0
export GPU_MAX_HEAP_SIZE=100
export GPU_USE_SYNC_OBJECTS=1
export GPU_MAX_ALLOC_PERCENT=100
export GPU_SINGLE_ALLOC_PERCENT=100

Just run ethminer.

What about in Windows? Do we still need them?

chfast commented 6 years ago

No, ethminer will do that for you: https://github.com/ethereum-mining/ethminer/blob/eae2cdae5ec3b000c5bcee812a7ccb91fe89c543/ethminer/main.cpp#L60.

efrasyad commented 6 years ago

Thanks!

jamesray1 commented 6 years ago

@chfast clearly https://ethermine.org/ needs to be updated.

jamesray1 commented 6 years ago

Also when I run ethminer, nothing happens. There is no ethminer process running in the system monitor.

jamesray1 commented 6 years ago

I was running it from the GUI. I'll try following the instructions in the readme after cloning it.

jamesray1 commented 6 years ago

I'm not sure how to fix this: https://gist.github.com/jamesray1/3b0378f88b1a92ac511f9113dd231bef

MariusVanDerWijden commented 6 years ago

@chfast clearly https://ethermine.org/ needs to be updated.

I'll contact them, I know a guy there

jamesray1 commented 6 years ago

If anyone has any tips on how to fix this I'd appreciate it.

jamesray1 commented 6 years ago

I logged in as a root user in Bash and mved the ethminer file to /bin, then cded to that folder and ran ethminer. The result was: ✘ 21:57:04|ethminer No OpenCL platforms found.

jamesray1 commented 6 years ago

Also I downloaded the latest release, deleted the old files, extracted the new zip, and moved ethminer to /bin and ran it, but still got the same result.

jamesray1 commented 6 years ago

I did some more reading and it seems like there is no support for open CL for this i915 driver:

james@james-Streacom:~$ lspci -nnk | grep -iA2 vga
00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0102] (rev 09)
    Subsystem: ASUSTeK Computer Inc. 2nd Generation Core Processor Family Integrated Graphics Controller [1043:844d]
    Kernel driver in use: i915

https://software.intel.com/en-us/articles/driver-support-matrix-for-media-sdk-and-opencl https://askubuntu.com/questions/412009/open-cl-in-intel https://askubuntu.com/questions/796770/how-to-install-libopencl-so-on-ubuntu

After sudo apt-get install beignet

root@james-Streacom:/bin# echo "/usr/lib/beignet/" > /etc/ld.so.conf.d/beignet.conf
root@james-Streacom:/bin# ldconfig
root@james-Streacom:/bin# exit
logout
james@james-Streacom:/media/james/Seagate Expansion Drive/Downloads/Software/bin$ ethminer
X server found. dri2 connection failed! 
X server found. dri2 connection failed! 
beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware
(If you have multiple ICDs installed and OpenCL works, you can ignore this message)
No GPU device with sufficient memory was found. Can't GPU mine. Remove the -G argument

sudo apt install ocl-icd-opencl-dev and

ethminer Still exactly the same result as above with beignet.

jamesray1 commented 6 years ago

Interestingly:

sudo apt remove beignet
ethminer

Still gives beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware in the output.

jamesray1 commented 6 years ago

/usr/lib/beignet/ was deleted, but /etc/ld.so.conf.d/beignet.conf wasn't, so I rmed it, then ran ethminer:

No protocol specified
No protocol specified
beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware
(If you have multiple ICDs installed and OpenCL works, you can ignore this message)
No GPU device with sufficient memory was found. Can't GPU mine. Remove the -G argument
jamesray1 commented 6 years ago

I'm not sure if buying a new computer is going to be economical with PoW on it's way out in due course.

MariusVanDerWijden commented 6 years ago

wait... what gpu are you trying to mine on?

jamesray1 commented 6 years ago

https://askubuntu.com/questions/952164/install-opencl-on-ubuntu-17-04-intel

intel i915, it's old, a 2nd gen core processor.

MariusVanDerWijden commented 6 years ago

You can't mine on an integrated gpu. You either have to buy a dedicated graphics card or switch to another currency. Ethereum needs at least 3GB of V-RAM (Video memory) to work

jamesray1 commented 6 years ago

I tried installing beignet as well as clinfo as per this.

james@james-Streacom:~$ clinfo
X server found. dri2 connection failed! 
Number of platforms                               1
  Platform Name                                   Intel Gen OCL Driver
  Platform Vendor                                 Intel
  Platform Version                                OpenCL 2.0 beignet 1.3
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_3d_image_writes cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_spir cl_khr_icd cl_intel_accelerator cl_intel_subgroups cl_intel_subgroups_short cl_khr_gl_sharing
  Platform Extensions function suffix             Intel
X server found. dri2 connection failed! 
beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware
(If you have multiple ICDs installed and OpenCL works, you can ignore this message)

  Platform Name                                   Intel Gen OCL Driver
Number of devices                                 0

NULL platform behavior
  clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  Intel Gen OCL Driver
X server found. dri2 connection failed! 
beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware
(If you have multiple ICDs installed and OpenCL works, you can ignore this message)
  clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   Intel Gen OCL Driver
  clCreateContext(NULL, ...) [default]            No devices found in platform
X server found. dri2 connection failed! 
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
X server found. dri2 connection failed! 
beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware
(If you have multiple ICDs installed and OpenCL works, you can ignore this message)
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  No devices found in platform
X server found. dri2 connection failed! 
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No devices found in platform
X server found. dri2 connection failed! 
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No devices found in platform
X server found. dri2 connection failed! 
beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware
(If you have multiple ICDs installed and OpenCL works, you can ignore this message)
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  No devices found in platform

ICD loader properties
  ICD loader Name                                 OpenCL ICD Loader
  ICD loader Vendor                               OCL Icd free software
  ICD loader Version                              2.2.11
  ICD loader Profile                              OpenCL 2.1
jamesray1 commented 6 years ago

Just going more thoroughly through this.

jamesray1 commented 6 years ago

You can't mine on an integrated gpu. You either have to buy a dedicated graphics card or switch to another currency. Ethereum needs at least 3GB of V-RAM (Video memory) to work

Ah OK. My computer only has a mini PCI-e slot so I think I'd have to get another computer to mine. But as I mentioned, it's not clear whether it will be worth it if it's just to mine, since mining's days are numbered, but it might be useful for development and testing with VMs.

jamesray1 commented 6 years ago

Probably better to just hold ETH and work on development, unless there is evidence to indicate that mining will give a payback, or I need a better computer e.g. for development.

MariusVanDerWijden commented 6 years ago

Yes, as we switch to pos with casper mining will only continue on forks, so holding ETH is your best bet right now. Also go buy yourself a decent pc, especially if your into developing. makes life way easier

jamesray1 commented 6 years ago

OK I won't go buy a rig. If the need arises for a better PC, I will buy one.

DeafMan1983 commented 3 years ago

Hello please stop lying me! I have strong AMD Radeon RX 480 and it has OpenCL support. but why does not work :-1:

image

My OpenCL info:

Number of platforms:                 1
  Platform Profile:              FULL_PROFILE
  Platform Version:              OpenCL 2.0 AMD-APP (3212.0)
  Platform Name:                 AMD Accelerated Parallel Processing
  Platform Vendor:               Advanced Micro Devices, Inc.
  Platform Extensions:               cl_khr_icd cl_amd_event_callback 

  Platform Name:                 AMD Accelerated Parallel Processing
Number of devices:               1
  Device Type:                   CL_DEVICE_TYPE_GPU
  Vendor ID:                     1002h
  Board name:                    Ellesmere [Radeon RX 470/480/570/570X/580/580X]
  Device Topology:               PCI[ B#1, D#0, F#0 ]
  Max compute units:                 36
  Max work items dimensions:             3
    Max work items[0]:               1024
    Max work items[1]:               1024
    Max work items[2]:               1024
  Max work group size:               256
  Preferred vector width char:           4
  Preferred vector width short:          2
  Preferred vector width int:            1
  Preferred vector width long:           1
  Preferred vector width float:          1
  Preferred vector width double:         1
  Native vector width char:          4
  Native vector width short:             2
  Native vector width int:           1
  Native vector width long:          1
  Native vector width float:             1
  Native vector width double:            1
  Max clock frequency:               1330Mhz
  Address bits:                  64
  Max memory allocation:             7301444400
  Image support:                 Yes
  Max number of images read arguments:       128
  Max number of images write arguments:      8
  Max image 2D width:                16384
  Max image 2D height:               16384
  Max image 3D width:                16384
  Max image 3D height:               16384
  Max image 3D depth:                8192
  Max samplers within kernel:            26591
  Max size of kernel argument:           1024
  Alignment (bits) of base address:      1024
  Minimum alignment (bytes) for any datatype:    128
  Single precision floating point capability
    Denorms:                     No
    Quiet NaNs:                  Yes
    Round to nearest even:           Yes
    Round to zero:               Yes
    Round to +ve and infinity:           Yes
    IEEE754-2008 fused multiply-add:         Yes
  Cache type:                    Read/Write
  Cache line size:               64
  Cache size:                    16384
  Global memory size:                8589934592
  Constant buffer size:              7301444400
  Max number of constant args:           8
  Local memory type:                 Scratchpad
  Local memory size:                 65536
  Max pipe arguments:                16
  Max pipe active reservations:          16
  Max pipe packet size:              3006477104
  Max global variable size:          7301444400
  Max global variable preferred total size:  8589934592
  Max read/write image args:             64
  Max on device events:              1024
  Queue on device max size:          8388608
  Max on device queues:              1
  Queue on device preferred size:        262144
  SVM capabilities:              
    Coarse grain buffer:             Yes
    Fine grain buffer:               Yes
    Fine grain system:               No
    Atomics:                     No
  Preferred platform atomic alignment:       0
  Preferred global atomic alignment:         0
  Preferred local atomic alignment:      0
  Kernel Preferred work group size multiple:     64
  Error correction support:          0
  Unified memory for Host and Device:        0
  Profiling timer resolution:            1
  Device endianess:              Little
  Available:                     Yes
  Compiler available:                Yes
  Execution capabilities:                
    Execute OpenCL kernels:          Yes
    Execute native function:             No
  Queue on Host properties:              
    Out-of-Order:                No
    Profiling :                  Yes
  Queue on Device properties:                
    Out-of-Order:                Yes
    Profiling :                  Yes
  Platform ID:                   0x7f61bf9fbcf0
  Name:                      gfx803
  Vendor:                    Advanced Micro Devices, Inc.
  Device OpenCL C version:           OpenCL C 2.0 
  Driver version:                3212.0 (HSA1.1,LC)
  Profile:                   FULL_PROFILE
  Version:                   OpenCL 1.2 
  Extensions:                    cl_khr_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_fp16 cl_khr_gl_sharing cl_amd_device_attribute_query cl_amd_media_ops cl_amd_media_ops2 cl_khr_image2d_from_buffer cl_khr_subgroups cl_khr_depth_images cl_amd_copy_buffer_p2p cl_amd_assembly_program 

I am very disappointed. Please don't joke me! I am very hesitating about that. Sorry I don't care Windows OS. I use only Ubuntu 18.04 Thanks!

PS: minerd -o stratum+tcp:// (your crypto).minergate.com (port) -u username -p password It works fine but ethminer is really catastrophically. Thanks!