A package that makes it possible to run CUDA code on Nvidia cards in vvvv gamma.
RadixSort for GPU Buffers
Part of the Gaussian splatting implementation for vvvv gamma in VL.Fuse.
Comissioned by @motzi.
GPU BCn DDS Compression
This is probably the fastest 3d rendering to BCn DDS compression you can get. It directly transfers the GPU memory of a texture to CUDA, compresses it via Nvidia Texture Tools 3 (NVTT 3), downloads the compressed bytes to the CPU, and saves them to disk.
Available compression formats: BC1, BC3, BC4, BC5, BC6u, BC6s, BC7.
Commissioned by Refik Anadol Studio.
The help patch is still my development test patch. If someone has an idea for a better one, please post a patch here. It would be super helpful…
This should not be necessary, let me know what kind or error you see in the console. The 3GB CUDA toolkit install should only be needed by developers who write CUDA code and need to compile it.
I think I needed the cudart64_12.dll, but I have now changed it to statically link it and it should not have this dependency anymore, please try again with the new nuget >= 0.1.0-beta1.
Also few notes:
Success, seems to be 1 if you feed texture one by one, prolly would be better to have some sort of OnSuccess as bang or channel… Or not sure, put compressor in delegate?
Second problem is FileTexture seems to be dead slow when you read files a lot… Looks like it tries to cache them, is there any known more direct way to load images to texture in stride? (use skia instead)?
Yes, TextureReader can be used for direct disk to vram transfer, that should be used for DDS loading. It will decompress it on the GPU.
The actual compression happens in the draw operation, after update, this is to make sure it’s getting the latest content for the textures, after the rendering.
Thanks! I am just entertaining the idea for audio visualization purposes.
I would be happy to have the FFT data directly on GPU and share it with my shaders (assuming I could solve uploading multiple audio signals directly to GPU to be processed by cuFFT…)
Since I already run a setup with multiple parallel FFTs on CPU that I then feed into my shaders, it sounds to me like this route would ease a bit my CPU Bottleneck ? just thinkig out loud.
I’m also interested to have a FFT calculated and used on GPU, that would solve some limitations on FFT processing for big spread counts, and multiple FFT instances from the same audio source.