Monday, October 8th 2018
VUDA is a CUDA-Like Programming Interface for GPU Compute on Vulkan (Open-Source)
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.
Source:
VUDA on GitHub
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.
33 Comments on VUDA is a CUDA-Like Programming Interface for GPU Compute on Vulkan (Open-Source)
2) How does AMD/NVIDIA compute performance compare using VUDA?
3) Can developers easily implement CUDA code to work on VUDA on AMD cards?
*gotta be Polish to understand all that
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.
@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. ;-) Because of the name? Unlikely. Anyone can start a GitHub project and call it nvudia or aamd. 100% clean in terms of trademarks. Little you know about the company in question and Open Source in general.
Here's some data about 2017 GitHub activity. Enjoy.
datastudio.google.com/reporting/0ByGAKP3QmCjLU1JzUGtJdTlNOG8/page/Q3DM 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.
2) and 3) too early to tell at this time.
www.phoronix.com/scan.php?page=news_item&px=AMD-NVIDIA-Intel-Kernel-Contrib
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.
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. 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.
"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.
Android is almost impossible to evaluate. As a client, you can't download Android and use it on your PC (well... you can, but it's pointless). On the other hand, Android is in the end the main source of income for Google.
Mantle was a joint venture of AMD and gaming studios. It wasn't a hobby project run by some bloke.
Also, isn't it funny that Mantle was mentioned next to claims that AMD is such a FOSS and Linux contributor? :-D