OpenCL-CLHPP
kompute
OpenCL-CLHPP | kompute | |
---|---|---|
5 | 37 | |
350 | 1,486 | |
0.9% | 2.7% | |
6.5 | 8.1 | |
7 days ago | 7 days ago | |
C++ | C++ | |
Apache License 2.0 | Apache License 2.0 |
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-CLHPP
-
Khronos Group releases OpenCL 3.0.14 update
Khronos has today released the OpenCL 3.0.14 maintenance update that introduces a new cl_khr_command_buffer_multi_device provisional extension that enables execution of a heterogeneous command-buffers across multiple devices. This release also includes significant improvements to the OpenCL C++ Bindings, a new code generation framework for the OpenCL extension headers, and the usual clarifications and bug fixes. The new specifications can be downloaded from the OpenCL Registry.
-
An example for OpenCL 3.0?
Please note that OpenCL consists of two parts: host API and a separate language which is used to write kernels (code which is going to be offloaded to devices). OpenCL specification describes host APIs as C-style APIs and that is what implementors has to provide. However, there are number of various libraries which provides bindings for other languages: - C++ - Python - Go - Rust
-
Conference: SYCL and IWOCL
opencl.hpp from https://github.com/KhronosGroup/OpenCL-CLHPP evolved from the C++ wrapper API that Ben Gaster started at AMD and I continued evolving. That work has continued since. It is a wrapper for the OpenCL runtime API, but the kernel side code is provided as kernel strings or SPIRV blobs through that API.
-
Getting Started
I was actually writing my own application in C++. I got the OpenCL CLHPP library downloaded. Wish me luck.
kompute
-
Intel CEO: 'The entire industry is motivated to eliminate the CUDA market'
The two I know of are IREE and Kompute[1]. I'm not sure how much momentum the latter has, I don't see it referenced much. There's also a growing body of work that uses Vulkan indirectly through WebGPU. This is currently lagging in performance due to lack of subgroups and cooperative matrix mult, but I see that gap closing. There I think wonnx[2] has the most momentum, but I am aware of other efforts.
[1]: https://kompute.cc/
[2]: https://github.com/webonnx/wonnx
-
[P] - VkFFT version 1.3 released - major design and functionality improvements
Great to see the positive momentum of this framework! Best wishes and upvotes from the Vulkan Kompute team :)
-
VkFFT: Vulkan/CUDA/Hip/OpenCL/Level Zero/Metal Fast Fourier Transform Library
To a first approximation, Kompute[1] is that. It doesn't seem to be catching on, I'm seeing more buzz around WebGPU solutions, including wonnx[2] and more hand-rolled approaches, and IREE[3], the latter of which has a Vulkan back-end.
[1]: https://kompute.cc/
[2]: https://github.com/webonnx/wonnx
[3]: https://github.com/openxla/iree
-
I'm Having Trouble Building this Library...
I look in an example and see similar instructions, stating that the build should be quite simple. But again, it doesn't work. It generates a bunch of folders with Visual Studio stuff, but no executables, no libraries, or anything like that.
I can't figure out how, and there are no tutorials. According to https://kompute.cc/overview/build-system.html I should simply run "cmake -Bbuild". But this doesn't output what I need, and when I look in the Makefile I get the sense that this is more an example Makefile... but then that contradicts the above tutorial.
-
How to properly construct an abstraction layer with Vulkan
Kompute is in my opinion good example to take inspiration for abstractions.
-
Vulkan for Image Processing? Good choice?
Currently, there's a few Vulkan compute frameworks floating around (like Kompute). I would work with those. Kompute simplifies a lot of the biolerplate and seems like you could benefit from using it.
-
Paralell computing project
Try Kompute, a project from the Linux foundation. It is quite simple to use, and does not require deep knowledge of graphics API. It’s a bit painful to setup, but it kinda works well (and I have a project going on on it)
-
Bootstrapping Vulkan for Scientific Compute Applications?
This so much.
-
[D] PyTorch is moving to the Linux Foundation
This makes alot of sense considering the Linux Foundation is also in charge of Kompute which is likely to be the basis of vendor agnostic GPGPU, and thus the basis of vendor agnostic GPU-based machine learning.
What are some alternatives?
OpenCL-SDK - OpenCL SDK
rust-gpu - 🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧
pyopencl - OpenCL integration for Python, plus shiny features
ROCm - AMD ROCm™ Software - GitHub Home [Moved to: https://github.com/ROCm/ROCm]
VkFFT - Vulkan/CUDA/HIP/OpenCL/Level Zero/Metal Fast Fourier Transform library
OpenCLOn12 - The OpenCL-on-D3D12 mapping layer
godot-proposals - Godot Improvement Proposals (GIPs)
VulkanExamples - Examples and demos for the Vulkan C++ API
clspv - Clspv is a compiler for OpenCL C to Vulkan compute shaders
futhark - :boom::computer::boom: A data-parallel functional programming language
datoviz - ⚡ High-performance GPU interactive scientific data visualization with Vulkan
triSYCL - Generic system-wide modern C++ for heterogeneous platforms with SYCL from Khronos Group