futhark
kompute
futhark | kompute | |
---|---|---|
55 | 39 | |
2,450 | 2,064 | |
1.6% | 2.3% | |
9.7 | 7.7 | |
2 days ago | about 1 month ago | |
Haskell | C++ | |
ISC License | 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.
futhark
- Ask HN: Resources for GPU Compilers?
- Ask HN: Who wants to be hired? (July 2024)
-
Bend: The first high-level language that runs natively on GPUs (via HVM2)
Nowadays 210 is actually parallel! You can run 210-style code using MaPLe (https://github.com/MPLLang/mpl) and get competitive performance with respect to C/C++.
If you liked 210, you might also like https://futhark-lang.org/ which is an ML-family language that compiles to GPU with good performance.
-
What downsides exist to Futhark? Seems almost too good to be true?
Why Futhark? (futhark-lang.org)
-
GPU Programming: When, Why and How?
There is no on-going work to support Metal apart from the work done by Miles. There's an old issue about it: https://github.com/diku-dk/futhark/issues/853#issuecomment-5...
-
Is Parallel Programming Hard, and, If So, What Can You Do About It? v2023.06.11a
Functional programming can be a great way to handle parallel programming in a sane way. See the Futhark language [1], for example, that accepts high-level constructs like map and convert them to the appropriate machine code, either on the CPU or the GPU.
[1] https://futhark-lang.org/
-
Is there a programming language that will blow my mind?
Futhark - use a functional language to program the gpu
-
Does This Language Exist?
You might want to look into Futhark, although it's mainly designed for writing GPU code.
- Learn WebGPU
-
Two-tier programming language
Futhark https://futhark-lang.org/
kompute
- Kompute: General purpose GPU compute framework for cross vendor graphics cards
- Kompute β Vulkan Alternative to CUDA
-
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)
What are some alternatives?
dex-lang - Research language for array processing in the Haskell/ML family
rust-gpu - π Making Rust a first-class language and ecosystem for GPU shaders π§
Halide - a language for fast, portable data-parallel computation
VkFFT - Vulkan/CUDA/HIP/OpenCL/Level Zero/Metal Fast Fourier Transform library
arrayfire-rust - Rust wrapper for ArrayFire
godot-proposals - Godot Improvement Proposals (GIPs)
BQN - An APL-like programming language
triSYCL - Generic system-wide modern C++ for heterogeneous platforms with SYCL from Khronos Group
arrayfire-python - Python bindings for ArrayFire: A general purpose GPU library.
clspv - Clspv is a compiler for OpenCL C to Vulkan compute shaders
julia - The Julia Programming Language
OpenCLOn12 - The OpenCL-on-D3D12 mapping layer