Comments (6)
Hmm, we should support OpenCL 1.1, and certainly shouldn't lock the process. We haven't done any testing with Clover, clearly we need to do some. That said, I thought that Clover was CPU only, and the it looks like the device is a GPU. Could you provide some more detail about your system, specifically OS, hardware, and how you installed your OpenCL stack (version, etc)?
Also, when you say that plaidml-setup hang, is this immediately after selecting experimental support, or after you select your device? Also, if possible, could please attach the full clinfo results and run clpeak (https://github.com/krrishnarraj/clpeak) and report on the results?
It might take us a bit to get a repro on this, but our goal is to support all the platforms we can.
-Jeremy
from plaidml.
Clover is buggy beyond much hope of redemption. https://bugs.freedesktop.org/show_bug.cgi?id=99553. If clpeak
doesn't run on Clover, odds are your application won't either. Assuming you have an AMD card, there are hacks to get just the OpenCL part of the AMD proprietary driver installed on Ubuntu 16.04, Fedora 25/26 and CentOS / RHEL 7. It's also in the Arch User Repository, which is what I'm on.
Here's some of the gory detail from my attempts to get Caffe working with OpenCL:
Note that on very recent Linux kernels (I'm on 4.13.9, I think the change was in the move from 4.12 to 4.13) there are some new kernel flags you have to pass at boot time for AMD cards to tell the kernel AMD drivers which model AMD card you have. That shouldn't be a problem on Ubuntu 16.04 LTS and it isn't if you're using the LTS kernel on Arch. And it shouldn't be a problem on RHEL/CentOS. It probably is on Fedora.
from plaidml.
Thanks @znmeb. @Bengt, does CLPeak work on your machine? It appears that the problems in Clover are beyond a workaround on our side. We'll leave this open, without the common benchmarks working (CLPeak) it's unlikely there's anything we can do about it but we would welcome help.
from plaidml.
If you want to go with Arch, here's the relevant Wiki page. I can verify that PlaidML works with the AMD Bonaire using this setup:
https://wiki.archlinux.org/index.php/AMDGPU
Here's the userspace driver:
aur/opencl-amd 17.30.465504-2 [installed] (Out of Date) (29) (5.69)
OpenCL userspace driver as provided in the amdgpu-pro driver stack. This package is intended to work along with
the free amdgpu stack.
from plaidml.
@jbruestle I am running an AMD Radeon HD 7970 (aka R9 280X) under Ubuntu 16.04.3 LTS without the hardware enablement stack. So besides LLVM 5 instead of LLVM 4 and some minor version updates, my system should be vanilla. See the full CLInfo report on gist.github.com.
plaidml-setup
hangs for me after enabling telemetry reporting:
$ plaidml-setup
[...]
Enable telemetry reporting? (y,n)[y]:y
Almost done. Multiplying some matrices...
Tile code:
function (B[X,Z], C[Z,Y]) -> (A) { A[x,y : X,Y] = +(B[x,z] * C[z,y]); }
[hangs]
CLPeak will not compile on my system in its current configuration, because I do not have the AMD APP SDK installed:
CMake Error at CMakeLists.txt:62 (message):
Could not find OpenCL include/libs. Set OPENCL_ROOT to your OpenCL SDK.
Download AMD APP SDK
http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/
for x86/x64 or pocl http://pocl.sourceforge.net/ for ARM systems
@znmeb Thanks for your comments. Interesting to see how many other applications have trouble running under clover.
I guess from the view of an application developer, it would be best to decide whether or not clover should be supported or not. Regular testing should then ensure functionality or there should be detection mechanism in place and the user should get an error message when running on an unsupported OpenCL implementation.
from plaidml.
@Bengt I started looking into adding better error handling for whatever is wrong with Clover, but I ran into installation issues and ended up moving on to other concerns. I think right now this one is a bit too low priority for us to get to it anytime soon. I'm not sure exactly why it's hanging rather than erroring for you. Since I don't like to leave tickets pending indefinitely, I'm going to close that is won't-fix for now. Sorry.
from plaidml.
Related Issues (20)
- switching between cpu and gpu HOT 1
- plaidml-setup doesnt work anymore
- plaidml.exceptions.PlaidMLError: Could not find PlaidML configuration file: "experimental.json" HOT 1
- PlaidML Poor Performance on (My?) RX 6800 HOT 5
- Unable to run pmlc-opt output MLIR example via pmlc-jit HOT 2
- Printing memrefs HOT 1
- ModuleNotFoundError: No module named 'plaidml.bridge' HOT 1
- The fetching of dependencies should only be used as fallback
- neural network doesn't output the results HOT 3
- The Keras backend function 'local_conv2d' is not yet implemented in Plaid.
- build errors HOT 1
- how to fix "cannot import name 'Iterable' from 'collections' when running test code from main page HOT 3
- Feedback on build documentation HOT 2
- Capture affine.store op HOT 4
- Tile language vs EDSL HOT 10
- Not able to select GPU with plaidml-v1 HOT 6
- Support using system-installed llvm HOT 4
- cannot figure out how to load premade model in python
- Getting error runing build. HOT 2
- Evaluate Profile-Guided Optimization (PGO) HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from plaidml.