-
Notifications
You must be signed in to change notification settings - Fork 188
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No Nvidia support: errors out with clEnqueueReadBuffer (-5) with both CUDA 7.5 libs and system libs #6
Comments
Thanks for your report. As per cl.h, error -5 is: Could you report the full output of "clinfo"? It sounds like your cards doesn't support silentarmy allocating 1744.8 MB of GPU memory. |
You may be right: Here is the output of clinfo: clinfo.txt |
Could you try editing param.h and defining NR_ROWS_LOG to 16, then recompile and try again? This will reduce memory usage (at the cost of performance) and may work on your cards. |
Still no luck:
Thanks for the quick response and for looking into this. |
Weird. I'll put it on my todo list to look into this issue. solardiz had reported the same problem when trying to run silentarmy on his Nvidia cards. |
Could you try checking out the latest revision? I fixed unaligned memory accesses and I think it may fix your issue on Nvidia cards...(5f68344) |
I'm using your latest version and linux cuda8 with a gtx 960 and i modified the rows to 16 Solving default all-zero 140-byte header Solving nonce 0000000000000000000000000000000000000000000000000000000000000000 Some info about the card |
I can back @GibsT's assessment that this problem still persists on master. |
Ok guys, thanks for testing. I'll try to get my hands on an Nvidia GPU to fix this bug. |
I can debug for you if you want. If there is anything you need me to do On Oct 31, 2016 8:49 AM, "mbevand" notifications@github.com wrote:
|
Same here, I can help with GPU debugging: |
I am told that on Nvidia CL_OUT_OF_RESOURCES could be a very generic error (eg. the kernel is accessing memory outside the bounds of a buffer). So try to run with "-v -v -v" to see at what step in Equihash is the clEnqueueReadBuffer() call that fails (please attach the output to this bug). Try to comment out big chunks of the OpenCL kernel to see if the error disappears. Etc. Maybe Nvidia has a debugger? I don't know. I have only worked with AMD GPUs in the past. In a few days I should find the time to try debugging this. |
Solving nonce 0000000000000000000000000000000000000000000000000000000000000000 |
It's very interesting to me that it fails at Round 2 and not earlier. I should have time to start investigating this bug in the next 2-3 days. |
Not sure if this helps but I remember reading somewhere about how amd uses 64 threads per wave and nvidia likes to use 32 per warp. 512 bits bandwidth. 64kb shared memory cache. Up to 64 warps per multiprocessor |
So I have good news. The CL_OUT_OF_RESOURCES error is caused by unaligned memory accesses (which happen at round 2 and above.) The fix is relatively straightforward. This means Nvidia will be supported soon. |
@Motoma how are you using NVIDIA cards? Are you installing any of the AMD stuff from the README? |
I will update the README with instructions for Nvidia. |
@dacox No, I'm not following the AMD instructions in the readme. I have used both the OpenCL libraries included in the |
Nvidia is now supported in SILENTARMY v4: a03e308 README.md has been updated with instructions on how to install the Nvidia packages on Ubuntu 16.04 |
Ubuntu Linux 4.4.0 x86_64
CUDA Driver = CUDART
CUDA Driver Version = 8.0
CUDA Runtime Version = 7.5
Device0 = GeForce GTX 970
Device1 = GeForce GTX 970
Compiled silentarmy against both the libraries provided by apt-get as well as those included in the CUDA SDK.
Regardless of the command I run, I receive:
The text was updated successfully, but these errors were encountered: