‹ BackHN Continuity

Thread

Nvidia announces native GPU programming in Rust

970 points · 404 comments · nonmaskable

  1. jacobgorm · · focus · HN ↗
    I strongly dislike CUDA. Once you have allowed that proprietary cr*p into your C++ codebase, it is very hard to get rid, and you end up with code that is either tied to a single vendor or an #ifdef hell, probably both.

    The best way to program GPUs is face up to the reality that they are not the same machine as the CPU, write your kernels in separate files, and launch them manually, like in Metal, OpenCL, and D3D12, etc. These days we even have DSLs like Triton that make kernel writing much more ergonomic than anything you would hope to achieve in Rust.

    1. tombert · · focus · HN ↗
      > I strongly dislike CUDA. Once you have allowed that proprietary cr*p

      Genuine question...why not just type "crap"? It's not even that much of a curse, but I've never really understood the point of self-censorship. If you don't want to curse then you could just use a non-curse word.

      1. bmacho · · focus · HN ↗
        IMO cr*p and crap are both valid but separate swear words. People have a wide option to choose from when they want to swear, and people like variety (much much more than LLMs do). People also tend to influence each other with their usages: cr*p is popular because it is popular.

        Otherwise cr*p is just as good as crap, shit, horseshit, poopoo or such.

        edit: * replaced with \* as HN interprets asterisks as formatting for emphasis. Thx latexr for informing me

        1. latexr · · focus · HN ↗
          To use a literal asterisk on HN, do ** or \*. Your single usage in two places instead turned the majority of the post italic.
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.