Hacker News new | ask | show | jobs
by gitua 2102 days ago
> I think that Backslash against Nvidia is due to it's somewhat hostile nature towards OpenSource

I would add also Nvidia's hostility towards standards. They are pretty much the Apple of the GPUs : Optix, RTX, CUDA, etc. they are screwing up the whole ecosystem by making closed APIs that only work on their platform.

If you are a graphic or ML dev you can only hate Nvidia for how they are hurting standards and making our job so much harder while we could just agree on Khronos standards.

Hopefully some standards catch up (raytracing in Vulkan coming) but some other don't (ML is CUDA only)

2 comments

> I would add also Nvidia's hostility towards standards.

With CUDA I get a comfortable C++ dev environment that integrates with their products AND Visual Studio, FOR FREE. I played a bit with raw OpenCL a couple years ago, and it's.. uncomfortable. I've looked for free (as in beer) SYCL implementations... couldn't find any. IDEs with integrated debugging for OpenCL... couldn't find any, at least not for free. (Intel charged $$$ for their full-fledged OpenCL tools.)

CUDA is popular because the development environment is free AND comfortable. Has the situation changed the last years?

> Khronos standards

You could argue the other way: CUDA has become the de facto standard in certain areas and other vendors should release CUDA-compatible tooling for their products. I as a developer want to get work done and I don't care about ideals like "standards". I choose and recommend tooling that gives the shortest way to the result.

---

I'm mostly working with REST these days and I curse the HTTP protocol and URIs, etc. that are a mishmash of hacks to get it work with 7-bit charsets. At one occasion I said: "Just because something has a 30 year old RFC doesn't mean it's suitable for use in _today's_ applications." Standards can just as much hold back and prevent better ideas from emerging as they can help with interoperability.

> I as a developer want to get work done and I don't care about ideals like "standards".

The "I'm just doing my job" mentality often gets us in very bad situations down the road (be it for Privacy, Ecology, Standards, etc.)

Totally agree that for "getting the job done" and having free tools then yes CUDA is better.

For your REST example, I understand your frustration, but now think what would it be like without standards :

You would have to pay 100$ to use Apple.iHTTP©®™ + implement a version for Google G.HTTP + implement yet another version for Microsoft Visual.HTTP™. For each you would have to get a licence, agree to conditions, you would have to buy both a windows & mac because ofc they wouldn't be cross platform, each one would only work in one browser, they could decide over a night to remove your right to use HTTP, Microsoft Visual.HTTP dev tools would be crap but couldn't use the cool one from another company because not compatible, etc.

Might seems like an exaggeration but when you look at the Epic vs. Apple, Google AMP, DirectX & Metal, Apple developer fees & conditions, Web DRMs, the lack of cross-compability, etc. Well that's what HTTP would look like if people didn't care about standard.

Also standard don't have to always be backward compatible (for e.g OpenGL vs. Vulkan) that's specific to the web, not to standardisation.

In what way is NVIDIA hurting Vulkan? I suspect the opposite is true, AMD designed the API Vulkan is based on, but the whole Vulkan thing would be meaningless without NVIDIA also standing behind it.

Are you blaming NVIDIA for Vulkan not being on par with their proprietary APIs? Presumably Nvidia is not sabotaging Vulkan, rather the issue could be that Vulkan is an abstraction that supports multiple GPUs, and that improving Vulkan is resource intensive.