Posts Tagged ‘clEnqueueWriteBuffer 38

ethminer-2gb-vram-error

It seems that owners of video cards with 2GB of video memory has started having issues mining Ethereum (ETH). People are reporting that their cards are not being able to properly allocate the DAG file needed for mining with Ethminer even though it is still well below 2GB in size (a little over 1.3 GB at the moment). The error people with 2GB VRAM GPUs trying to mine Ethereum are getting is the following:

Creating one big buffer for the DAG
Allocating/mapping single buffer failed with: clCreateBuffer(-61). GPU can’t allocate the DAG in a single chunk. Bailing.
clEnqueueWriteBuffer(-38)

There are numerous suggestions on how some people were able to resolve the problem and make their 2GB VRAM video cards able to mine again Ethereum without more problems, but it seems that now all of them work for everyone and in all cases. We have tried different suggestions and have experimented, until we have found out a working solution that works fine on an AMD Radeon R9 285 GPU with 2GB of video memory, so you might want to try and see if it will work for you as well. Try executing the following commands in Windows before running ethminer and see if it will help:

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

Some people are reporting that they only need to do “setx GPU_MAX_ALLOC_PERCENT 100” and things work fine after that with their 2GB GPUs, but we were not able to make things work only with that variable. So do try and report what works and what does not for you, setting all of the four environment variable listed above did the trick for us. Restarting the computer after applying the environment variable listed above may be required for some users to make them work properly. Using 14.x drivers seems to provide the best success rate for most people, so if you are using newer 15.x drivers and still having issues, you might try going back to 14.x.

Linux users might try this as well, however you need to replace the setx with export and add = before the value you want to set, so the above list of commands needed for Linux users mining Ethereum should look like this:

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

Do note that we have not tested if this fixes the issue for Linux users, we can confirm that it worked for us under Windows, so if you test on Linux mining rigs with 2GB video memory GPUs please write in the comments if it helped you or not.


top