-
Notifications
You must be signed in to change notification settings - Fork 200
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
MNIST test fails to run on Radeon 8750M #35
Comments
I'm guessing that my OpenCL compiler/hardware doesn't support tanh |
Yes.... that's two of you now... but looking at http://www.notebookcheck.net/AMD-Radeon-HD-8750M.87147.0.html seems this card supports OpenCL 1.2? |
(Had a browse through the AMD drivers download, and came up with http://support.amd.com/en-us/download/desktop?os=Linux+x86_64 , but it didnt say what version of OpenCL these support... might be worth a shot though?) (Edit: ah, per http://wiki.cchtml.com/index.php/Hardware , seems like maybe this driver doesnt support HD8750M? Kind of hard to tell...) |
(Note that I'm pretty sure opencl 1.1 itself solidly supports tanh: https://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/tan.html ) |
I'm running the open-source driver, which could be why it is at v1.1 |
Ok. Maybe you can add in |
I know :) I'm just curious as to why the OpenCL compiler can't already do that - maybe I should submit a bug report for mesa |
Well... I guess you could modify their code. But... I'm curious how this could be running on your GPU. It seems like Clover is compiling the opencl itself, and I doubt it's compiling into AMD ISA? (ie http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2013/07/AMD_GCN3_Instruction_Set_Architecture.pdf and so on ). So, seems like it might be running in software, on your CPU? |
Could be, although I'd be amazed if my Haswell + Intel's drivers couldn't handle tanh! |
So, what I think is, Clover runs your OpenCL code, just like a script, like running something in Python and so on. I'm fairly sure that no OpenCL code is actually sent to your CPU, to run as Intel OpenCL. OpenCL => Clover OpenCL Scripting engine => executes as normal x86 program, inside Clover (Edit: I should have just used hte 'Edit' button really :-P Not sure why I didnt.... ) (Edit2: but I'm not really sure what Clover is doing. Scripting would sound too slow. But compiling to x86 on the fly would sound strange too. But compiling to AMD ISA seems unlikely. Soo... ????) |
You're right, Clover runs on CPU. Given this, I'm amazed that it doesn't support tanh... |
:-) |
Hi. Apparently I'm wrong. Clover does run on GPU :-) See Element-Research/rnn#41 |
So, what I'd suggest is, creating a fork/branch, and modifying activate.cl to write |
Note: you'd need to modify these lines basically: https://github.com/hughperkins/DeepCL/blob/master/cl/activate.cl#L10-L13
I guess it will need to look something like (just doing it for
|
I've been having the same issue with tanh on my system (R9 290 but with OpenCL 1.1). I would like to start messing around with what you've suggested hughperkins. However, editing the
It then repeats the original source of |
You need to do one of two things, either:
|
Thanks for the quick reply! I'm trying to choose option 2 and modify DeepCL. However, after I've modified |
You'll need to turn on You wont see the I'd recommend you start by getting the non-python version working first, since it involves fewer compilation steps. You can test by running the unit tests
|
Great! Took a little more troubleshooting but compiling is working and my changes are showing up. Thanks again for the quick response and the wonderful project. |
Awesome! Once you have that working, do you mind creating a fork/branch, so other people can use it too? (I'll probably take a copy of the fork too; and might ponder if there's a way of adding it into |
I'm happy to do so. However, a few things to consider:
Do you still think it's worth it for just this fix? If OpenCL 1.1 is a priority, it seems we might want to tackle the other issue as well... |
Ah, so finally you've switched to OpenCL 1.2 for now? Concretely, this means you are using the AMD drivers, rather than the Clover drivers, is that right? |
By the way, I dont think either of the issues (missing |
Not exactly. Before I was using the Clover drivers for OpenCL 1.1. I was then trying to upgrade OpenCL and somehow managed to get the Intel driver for OpenCL 1.2. So all the tests were successful using the Intel driver and my i5. I now finally got the AMD drivers working for my R9 290 with OpenCL 2.0. That is also passing all the unit tests. So yes, it seems like it is just Clover. I created the PR: #60 |
For anyone else coming across this thread, please note that the clover compatibility fork is at: https://github.com/hughperkins/DeepCL/tree/clover-compatibility (or https://github.com/rhyzomatic/DeepCL/tree/clover-compatibility , depending on how you look at it) |
Added notes on this to README.md 8ac7b0f Closing this issue for now |
Radeon 8750M on HP Probook 470 G1
clinfo:
Error:
The text was updated successfully, but these errors were encountered: