• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.
  • The forums have been upgraded with support for dark mode. By default it will follow the setting on your system/browser. You may override it by scrolling to the end of the page and clicking the gears icon.

VUDA is a CUDA-Like Programming Interface for GPU Compute on Vulkan (Open-Source)

W1zzard

Administrator
Staff member
Joined
May 14, 2004
Messages
28,744 (3.75/day)
Processor Ryzen 7 5700X
Memory 48 GB
Video Card(s) RTX 4080
Storage 2x HDD RAID 1, 3x M.2 NVMe
Display(s) 30" 2560x1600 + 19" 1280x1024
Software Windows 10 64-bit
GitHub developer jgbit has started an open-source project called VUDA, which takes inspiration from NVIDIA's CUDA API to bring an easily accessible GPU compute interface to the open-source world. VUDA is implemented as wrapper on top of the highly popular next-gen graphics API Vulkan, which provides low-level access to hardware. VUDA comes as header-only C++ library, which means it's compatible with all platforms that have a C++ compiler and that support Vulkan.

While the project is still young, its potential is enormous, especially due to the open source nature (using the MIT license). The page on GitHub comes with a (very basic) sample, that could be a good start for using the library.



View at TechPowerUp Main Site
 
Now, now, don't anger the Leather Jacket. Open Source is probably a banned term at Nvidia.
 
OpenCL is already perfectly sufficient at this. I fail to see the need for fragmentation except for a new catchy name.
 
1) Is NVIDIA going to sue?
2) How does AMD/NVIDIA compute performance compare using VUDA?
3) Can developers easily implement CUDA code to work on VUDA on AMD cards?
 
Does this mean we will be able to write CUDA-like code and run it on every GPU which supports Vulcan API?
 
Looking at that sample, you would definitely have a problem with memory allocation after drinking vuda. Might need a miracle (or a few of them for that matter).

*gotta be Polish to understand all that
 
Sounds like work for either slick lawyers, the driver team, or both... nVidia isn't going to like this.
 
Time to buy out and get rid off, the Nvidia way!!
 
So, a single dude has started something named VUDA.
It is 2 days old, 0 releases so far, but potential, oh god, how cool a potential it has, given how triggeringly cool it's name is to some.
 
So, a single dude has started something named VUDA.
It is 2 days old, 0 releases so far, but potential, oh god, how cool a potential it has, given how triggeringly cool it's name is to some.
Yup. Just another library for GPU computation. Actually, just a promise of one. I don't understand why this even exists in the news section.

@W1zzard as this news has little to do with gaming, I assume there's a growing interest in GPGPU. I'd suggest putting this sudden urge into something actually useful, like a GPGPU test in GPU reviews. ;-)

Sounds like work for either slick lawyers, the driver team, or both... nVidia isn't going to like this.
Because of the name? Unlikely. Anyone can start a GitHub project and call it nvudia or aamd. 100% clean in terms of trademarks.
Open Source is probably a banned term at Nvidia.
Little you know about the company in question and Open Source in general.

Here's some data about 2017 GitHub activity. Enjoy.
https://datastudio.google.com/reporting/0ByGAKP3QmCjLU1JzUGtJdTlNOG8/page/Q3DM
Does this mean we will be able to write CUDA-like code and run it on every GPU which supports Vulcan API?
To some degree you've been able to write CUDA-like code for non NVidia cards for years. It's called OpenCL.
VUDA is not even a thing at this point. And the tiny code sample that we have clearly shows the code isn't 100% compatible. So it won't be a thing, ever.
 
Now, now, don't anger the Leather Jacket. Open Source is probably a banned term at Nvidia.

lol if anything nvidia will want the open source to be inspired by them. the way it should work on their hardware even if the said software is open source. OpenGL is one of the prime example. despite being open source developer end up targeting nvidia hardware as the primary hardware to optimize their performance.

1) Is NVIDIA going to sue?
2) How does AMD/NVIDIA compute performance compare using VUDA?
3) Can developers easily implement CUDA code to work on VUDA on AMD cards?

1) no. while CUDA is nvidia proprietary API their official stand is anyone is free to do what ever they want with CUDA. you want to copy or modified them (ala AMD Blotzmann initiative)? make it compatible with your hardware (like how Qualcomm make their snapdragon compatible with their cuDNN)? feel free to do it. but nvidia will have full control with CUDA development itself. and actually this is AMD initial plan with Mantle. MS and Khronos Group can take Mantle as a "reference" to build their low level API but Mantle development itself will be fully controlled by AMD. hence the talk about Mantle 2.0 release before by Richard Huddy.

2) and 3) too early to tell at this time.
 
OpenCL is already perfectly sufficient at this. I fail to see the need for fragmentation except for a new catchy name.

Existing software that uses CUDA?
 
Intel has been contributing TPM, HDCP, USB, PCI Express, etc. which covers the entire industry.
 
Existing software that uses CUDA?

Adobe Premiere is probably the most know application thet benefits hugely from CUDA. Also After Effects, Media Encoder, SpreedGrade, Adobe Prelude, Lightroom, Illustrator, PhotoScan.... AutoDesk AutoCAD, Stingray, Moldflow. Invenor, Revis, 3dsmax, Maya, Davinci Resolve, Blender, Solidworks, Driverless AI, LuxRender, ArchiCAD, Lightwave, Octane render, Raptor. But over 250 programs support / benefit from CUDA. Mostly advantageous in modeling, graphics rendering and weather mapping.

However, waving the CUDA flag is kinds like bragging about more cores .... very advantageous if ya need it. But outside of workstation apps that most folks never use, has no real impact on most folks. If VUDA works as well as OpenCL, I don't see it making a splash.
 
Last edited:
Existing software that uses CUDA?
This "VUDA" is not a CUDA port for other hardware. It's a different language that mimics the syntax (at best).
And unless the mysterious guy behind it is, for example, Intel's GPU team, there is a marginal chance that it'll be even close to CUDA efficiency.

Since the code is different, all CUDA-accelerated software would have to be rewritten. Authors might just as well write an OpenCL (or something else) implementation. And they'll have to do that anyway, because Intel will surely become the second major GPGPU provider.
It's not a 100% code copy like we've seen in, for example, Matlab and Octave. The reason why Octave became so huge is because the code is almost the same (assuming it doesn't use specific Matlab packages). This means you can learn Matlab using Octave or you can develop programs for Matlab without the license.

Mind you, a CUDA front-end to OpenCL would be a welcome thing. Even if performance was bad, you could still develop and test CUDA software without an Nvidia GPU (so on most laptops, for example) - and then just run the same code on HPC.
Considering AMD contributes almost 8.5 times more code to open source than Nvidia, the term 'big contributor' seems not that appropriate.
https://www.phoronix.com/scan.php?page=news_item&px=AMD-NVIDIA-Intel-Kernel-Contrib
Linux kernel is a tiny part of open source and it's major function is "talking" to the CPU. Hence, Intel, AMD, Samsung and ARM are major contributors.
Phoronix actually mentions that Nvidia's contribution is mostly about Tegra.

I've posted a link to some GitHub statistics, but it's actually a well known fact that AMD is very passive when it comes to actual cooperation with programmers (both open source and not). They don't propose optimizations, they don't offer much support. They just make powerful hardware and tell people "we provided you the horsepower, do the rest".
It's the total opposite of what Apple does, with Intel and Nvidia being somewhere in the middle.

Sure, this could be a part of their cost-cutting strategy and being able to release hardware cheaper than the competition. But it greatly limits their attractiveness in many segments.
 
But it's not OpenCL. It's using the flexibility of Vulkan to execute non-rendering code. It's impossible to predict how it performs because it comes at the problem from a very different angle.
 
Linux kernel is a tiny part of open source and it's major function is "talking" to the CPU. Hence, Intel, AMD, Samsung and ARM are major contributors.
Phoronix actually mentions that Nvidia's contribution is mostly about Tegra.
Graphics stack has also been taken in account.
"While it shouldn't come as too much surprise given all of the work AMD has been doing on their open-source graphics stack recently while NVIDIA continues to contribute very little (relatively speaking) ....
AMD's contributions to the kernel include various AMD CPU/chipset work as well as their open-source AMDKFD/AMDGPU/Radeon graphics driver components and related work on TTM memory management, core DRM, etc. A far majority of NVIDIA's contributions to the Linux kernel are on the Tegra front with supporting their SoCs and developer boards with the Linux kernel code. NVIDIA contributes very few lines of code to the open-source NVIDIA DRM (Nouveau) driver.
 
So, a single dude has started something named VUDA.
It is 2 days old, 0 releases so far, but potential, oh god, how cool a potential it has, given how triggeringly cool it's name is to some.
You remember Mantle, how cool that was? It's called Vulkan now & is in your PC, probably. If we didn't encourage free alternatives, we'd never have Linux or Android.
 
Back
Top