-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
OpenCL backend plans? #42
Comments
Definitely needed! |
This is in process. |
Any progress on OpenCL support? I would be happy to beta test it. |
+1 |
+2 |
+3 |
As discussed at GTC, it might be difficult to do any portable IR for OpenCL. So an ideal solution maybe to use clang to generate OpenCL kernels source. |
Wait there is OpenCL SPIR which is pretty similar to LLVMIR even clang can generate SPIR via: |
Yes but SPIR is not (yet) supported by any GPU vendor and as far as I know
|
SPIR has been released recently. |
@dsharlet-intel has been making steady progress on both the SPIR and OpenCL C-based backends. I believe they're starting to pass most/all of the tests, as of (the very recent) 2e3222b commit. |
I tried the basic apps on osx 10.9 and all seg fault with OpenCL. -- Mike
|
Do you know which OpenCL device you’re targeting? One really annoying gotcha of Apple’s implementations is that their x86 OpenCL backend only supports 1D kernel launches. Do the tests pass? |
I'm targeting embedded gpu mainly but before porting there I test on -- Mike
|
I appreciate any information you can share from running the tests, but you should know that I've only just started looking at the apps since the last commit cited by jrk. The apps use a little bit different mechanism to run the generated code, which I didn't realize until recently. In addition to the issue jrk mentioned regarding Apple's x86 OpenCL implementation, they also have a little bit different expected behavior for creating the OpenCL context. I will need to get an Apple machine to make sure this still works for Apple in addition to Linux/Win. |
doing: make run_tests with HL_TARGET=opencl clang++ -O3 test/correctness/argmax.cpp -Iinclude -Lbin -lHalide -lpthread No kernels or only kernel prototypes found.Error: err == CL_SUCCESS Same error with test_internal: No kernels or only kernel prototypes found.Error: err == CL_SUCCESS The problem is the kernel being generated: there is no __kernel!!! Misc stuff: with HL_TARGET=host or cuda, all success. -- Mike On Wed, Dec 11, 2013 at 10:53 AM, dsharlet-intel
|
Is there any chance, that Halide will generate OpenCL kernels for use on GPUs? Sometimes in future....
I want to use Halide in my desktop computer graphics (photo processing) app, but many users have AMD cards, not NVidia.
The text was updated successfully, but these errors were encountered: