OpenCL-Guide
opencl-intercept-layer
OpenCL-Guide | opencl-intercept-layer | |
---|---|---|
1 | 9 | |
11 | 293 | |
- | 2.7% | |
0.0 | 7.8 | |
over 2 years ago | 19 days ago | |
C++ | C++ | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
OpenCL-Guide
opencl-intercept-layer
- OpenCL 3.0.12 Released With Command Buffers Mutable Dispatch Extension and Enhanced Layers Support
-
Useful Tools and Programs list for OpenCL
Somewhat selfishly, one of the tools I see missing from your guide is the OpenCL Intercept Layer. This is an open-source tool we've developed and we use it every day to debug and analyze OpenCL programs.
- Getting random values when manipulating images
-
AMD igpu resets while trying to run simple tutorial
I'd also suggest taking a look at the OpenCL Intercept Layer too, if you haven't already. It can do things like logging OpenCL errors, calling clFlush or clFinish after each enqueue, and more, all without modifying source or rebuilding.
-
Analyzing the Assembly code
The OpenCL Intercept Layer can get it for you (documentation link).
-
Matrix multiplication returning incorrect result OpenCL
Are you sure your program is executing completely and without errors? I'd strongly recommend using a tool like the OpenCL Intercept Layer to verify that everything is running correctly. You can even it to dump your input and result matrices to verify they are correct, if desired.
-
Profiling OpenCL code
We use the OpenCL Intercept Layer extensively. It's open-source, vendor-independent, and cross-platform. I wrote a tutorial to demonstrate common usages, if you want to see what it can do.
-
Getting Started
At some risk of redundancy, the one tool I would definitely recommend is the OpenCL Intercept Layer, since it will make it a lot easier to debug problems when they inevitably occur, or to optimize your program once it's working. Good luck and have fun!
- I want to learn OpenCL but don't know where to start
What are some alternatives?
AdaptiveCpp - Implementation of SYCL and C++ standard parallelism for CPUs and GPUs from all vendors: The independent, community-driven compiler for C++-based heterogeneous programming models. Lets applications adapt themselves to all the hardware in the system - even at runtime!
nvidia-opencl-examples
dlprimitives - Deep Learning Primitives and Mini-Framework for OpenCL
OpenCL-Guide - A guide to help developers get up and running quickly with the OpenCL programming framework
ArrayFire - ArrayFire: a general purpose GPU library.
intel-graphics-compiler
compute-runtime - Intel® Graphics Compute Runtime for oneAPI Level Zero and OpenCL™ Driver
OpenCL-Headers - Khronos OpenCL-Headers
oneDNN - oneAPI Deep Neural Network Library (oneDNN)
OpenCL-SDK - OpenCL SDK
SimpleOpenCLSamples - Simple OpenCL Samples that Build with Khronos Headers and Libs