VkFFT
autograph
Our great sponsors
VkFFT | autograph | |
---|---|---|
37 | 5 | |
1,441 | 299 | |
- | - | |
8.1 | 9.2 | |
about 1 month ago | 26 days ago | |
C++ | Rust | |
MIT 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.
VkFFT
-
[P] - VkFFT now supports quad precision (double-double) FFT computation on GPU
Hello, I am the creator of the VkFFT - GPU Fast Fourier Transform library for Vulkan/CUDA/HIP/OpenCL/Level Zero and Metal. In the latest update, I have added support for quad-precision double-double emulation for FFT calculation on most modern GPUs. I understand that modern ML is going in the opposite low-precision direction, but I still think that it may be useful to have this functionality at least for some prototyping and development of concepts.
- VkFFT now supports quad precision (double-double) FFT computation on GPU
-
VkFFT: Vulkan/CUDA/Hip/OpenCL/Level Zero/Metal Fast Fourier Transform Library
Not quite what I asked for, but close enough for now...
https://github.com/DTolm/VkFFT/discussions/126
-
Implementing complex numbers (and FFT) elegantly with just algebraic datatypes (no machine floats)
Source - I have made a somewhat functional programming-like FFT library (https://github.com/DTolm/VkFFT/tree/develop) which also operates on abstract data containers. Maybe it can be interesting to you from the algorithmic point of view.
-
how does Vulkan compare to CUDA?
VkFFT is a use-case I've heard of where Vulkan-Compute is faster than its Cuda and OpenCL counter-part: https://github.com/DTolm/VkFFT
-
VkFFT now supports Apple Metal API - M1 Pro GPU FFT benchmarking
Hello, I am the creator of the VkFFT - GPU Fast Fourier Transform library for Vulkan/CUDA/HIP/OpenCL and Level Zero. In the latest update, I have added support for Apple Metal API, which will allow VkFFT to run natively on modern Apple SoC. I have tested it on MacBook Pro with an M1 Pro 8c CPU/14c GPU SoC single precision on 1D batched FFT test of all systems from 2 to 4096. Achieved bandwidth is calculated as 2*system size divided by the time taken per FFT - minimum memory that has to be transferred between DRAM and GPU:
-
Any good compute shader tutorials?
Another possible project to look at is https://github.com/DTolm/VkFFT
- VkFFT now supports Rader's algorithm - A100 and MI250 benchmarks: Part 2
- VkFFT now supports Rader's algorithm - A100 and MI250 benchmarks
autograph
-
Where to Learn Vulkan for parallel computation (with references to porting from CUDA)
I'm working on a machine learning library https://github.com/charles-r-earp/autograph implemented in Rust that uses rust-gpu to compile Rust compute shaders to spirv, and then gfx_hal to target metal and dx12. Training performance is currently about 2x slower than pytorch (cuda) on my laptop but I've made significant progress recently and I am targeting 1.5x. While rust-gpu itself has it's own restrictions, it does support inline spirv assembly, which provides direct access to operations not provided in its std lib, thus it's lower level than GLSL. For example, it should be possible to target cuda tensor cores via cooperative matrix operations (I believe Metal supports these as well but this may not be implemented in spirv-cross and certainly isn't in naga). Once I have things a bit more stabilized I'd like to provide more examples, like porting from cuda / opencl, but I'm still figuring out patterns like how to work with 16 and 8 bit types in a nice and portable way.
-
autograph v0.1.0
autograph v0.1.0
-
What's the current state of GPU compute in rust?
Working on autograph, for machine learning and neural networks. Unlike CUDA / HIP it's threadsafe, but doesn't expose low level things like multiple streams. Most of the shaders are glsl but I'm now using rust_gpu for pure rust gpu code.
-
Announcing neuronika 0.1.0, a deep learning framework in Rust
Maybe not for learning but as inspiration I have to plug this amazing effort for ML with (vulkan) shaders: https://github.com/charles-r-earp/autograph
-
What do you think about a library that helps reducing the overhead of GPU programming, regarding ndimensional Arrays?
Maybe you'd be interested in checking out my library, https://github.com/charles-r-earp/autograph?
What are some alternatives?
wgpu - Cross-platform, safe, pure-rust graphics api.
neuronika - Tensors and dynamic neural networks in pure Rust.
kompute - General purpose GPU compute framework built on Vulkan to support 1000s of cross vendor graphics cards (AMD, Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabled, asynchronous and optimized for advanced GPU data processing usecases. Backed by the Linux Foundation.
RustaCUDA - Rusty wrapper for the CUDA Driver API
rust-gpu - 🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧
petgraph - Graph data structure library for Rust.
cuda-samples - Samples for CUDA Developers which demonstrates features in CUDA Toolkit
rocFFT - Next generation FFT implementation for ROCm
juice - The Hacker's Machine Learning Engine
xNVMe - Portable and high-performance libraries and tools for NVMe devices as well as support for traditional/legacy storage devices/interfaces.
ocl - OpenCL for Rust