cschreib

joined 1 year ago
[–] cschreib@programming.dev 15 points 3 months ago* (last edited 3 months ago)

How I wish CUDA was an open standard. We use it at work, and the tooling is a constant pain. Being almost entirely controlled by NVIDIA, there's no alternative toolset, and that means little pressure to make it better. Clang being able to compile CUDA code is an encouraging first step, meaning we could possibly do without nvcc. Sadly the CMake support for it on Windows has not yet landed. And that still leaves the SDK and runtime entirely in NVIDIA's hands.

What irritates me the most about this SDK is the versioning and compatibility madness. Especially on Windows, where the SDK is very picky about the compiler/STL version, and hence won't allow us to turn on C++20 for CUDA code. I also could never get my head around the backward/forward compatibility between SDK and hardware (let alone drivers).

And the bloat. So many GBs of pre-compiled GPU code for seemingly all possible architectures in the runtime (including cudnn, cublas, etc). I'd be curious about the actual number, but we probably use 1% of this code, yet we have to ship the whole thing, all the time.

If CPU vendors were able to come up with standard architectures, why can't GPU vendors? So much wasted time, effort, energy, bandwidth, because of this.

How do you people manage this?

[–] cschreib@programming.dev 3 points 1 year ago

I guess you mean std::expected, not std::exception?

[–] cschreib@programming.dev 4 points 1 year ago (1 children)

Why would their experience be relevant? They're asking a question, so obviously they have things to learn. You could be nicer about it.

[–] cschreib@programming.dev 5 points 1 year ago (1 children)

I hadn't bought a bundle in a long time, maybe I just don't remember it being that bad, but really? Even with the "extra to charity" preset, the charity gets less than Humble themselves? That's kind of gross.

[–] cschreib@programming.dev 2 points 1 year ago

GitHub Desktop works well for me and my workflow; even though the Linux version is only supported by the community (possible thanks to it being open source). The UI is very neat and simple. Yet you can do squash, reorder commits, ammend, commit hunks etc. Dark theme available of course! It integrates with GitHub (for PRs mostly) but afaik isn't tied to GitHub repos.

[–] cschreib@programming.dev 3 points 1 year ago* (last edited 1 year ago)
[–] cschreib@programming.dev 2 points 1 year ago* (last edited 1 year ago)

Neat! First real world use case I see for std::visit taking more than one variant.