Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Nvidia announces native GPU programming in Rust(nvidia.com ↗)
    53comments
  2. Training a 4B model to produce 81% faster query plans than Postgres(rohanbansal.com ↗)
    71comments
  3. Breaking the 1.58-bit Barrier for Ternary LLMs(arxiv.org ↗)
    11comments
  4. Xiaomi Mimo 2.6 live post-training dashboard(xiaomi.com ↗)
    56comments
  5. Backups Aren't Simple(filipovski.net ↗)
    17comments
  6. Small programming tricks(will-keleher.com ↗)
    178comments
  7. The engineering behind the US Strategic Petroleum Reserve(johnjwang.com ↗)
    11comments
  8. OpenSpec – A lightweight and configurable AI spec framework(openspec.dev ↗)
    7comments
  9. Reversing Factorio's RNG(gegell.github.io ↗)
    13comments
  10. Australia says it could follow Canada in forging deeper ties with EU(independent.co.uk ↗)
    24comments
  11. Performance Improvements in .NET 11(devblogs.microsoft.com/dotnet ↗)
    26comments
  12. AWS says it can't restore some data from mideast facilities struck by Iran(wsj.com ↗)
    163comments
  13. Japan's book scene is moving from bookstores to libraries(untranslatedjp.substack.com ↗)
    31comments
  14. Reverse-engineered Jev-like model(github.com/vinnylarouge ↗)
    8comments
  15. How good are frontier models at physics?(arxiv.org ↗)
    30comments
  16. Accurate Models of AMD Matrix Cores(arxiv.org ↗)
    6comments
  17. Show HN: An e-ink frame that hears birds and draws them as 1800s illustrations(github.com/arnegiacomo ↗)
    236comments
  18. Why Does the Universe Expand?(cosmicave.org ↗)
    4comments
  19. Mistral X Mozilla: Private, Multilingual AI Browsing(mistral.ai ↗)
    184comments
  20. Anecdotally, programmers dislike "reduce"(evanhahn.com ↗)
    138comments
  21. William Buckland's Theology of Geology(historytoday.com ↗)
    discuss
  22. Dream-RSI: Recursive Self-Improvement through Evolving Worlds(arxiv.org ↗)
    49comments
  23. Anatomy of a Texture(agentlien.github.io ↗)
    12comments
  24. Destroy After Reading: photocopiers,cheap paper and DIY gave metal it's look(truegrittexturesupply.com ↗)
    2comments
  25. Hackers Got Inside a Flock Camera(wired.com ↗)
    210comments
  26. Training Text-to-Image Models 3.6× Faster(linum.ai ↗)
    3comments
  27. The DeepMind Institute(deepmind.com ↗)
    43comments
  28. WalShadow: Sub-second Postgres replication to ClickHouse from physical WAL(clickhouse.com ↗)
    5comments
  29. Vectorized and performance-portable Quicksort (2022)(googleblog.com ↗)
    26comments
  30. I replaced my brown-noise browser tab with a menu bar app(oldmanrahul.com ↗)
    5comments

Nvidia announces native GPU programming in Rust

146 pointsby 13h agodeveloper.nvidia.com
50 comments
1h agoHN ↗

I'm looking forward to trying these when they stabilize! I currently use WGPU for graphics, and cudarc for CUDA.

Note: Cuda-oxide is similar to Cudarc's host component, but uses a rust-style kernel dialect. Advantage: Share structs between host and device. Disadvantage: Trading standard Cuda kernels for a new, WIP dialect.

I haven't tried the tile API yet; looking forward to it.

The last time I checked, Cuda Oxide was Linux only, and required Async; these are why I haven't tried it yet.

1h agoHN ↗

cudarc been great for me, because it's easy to look up existing examples and references, and it maps 1-to-1 with what I see. I'm already having a tough time with CUDA itself, a dialect of it makes a tad harder to rely on previous work.

Seems more ergonomic in general though, both approaches they share, compared to cudarc, and less build infrastructure and fiddling with environments, which is great.

1h agoHN ↗

Nobody cares if kernels are written in Rust. Kernels were meant to be written in C, but if you want to go more high-level try Triton or a similar DSL that nicely abstract tile sizes etc.

58m agoHN ↗

oh no no no, this is going to break the CPP hold on AI and game dev.

50m agoHN ↗

kernels aren't meant to be written by any defined language. C is just a traditionally good default language that took over from assembly. No particular reason we have to stick with C.

1h agoHN ↗

The launch is checked rather than trusted.

Damn even Nvidia is putting out fully Claude-written articles.

1h agoHN ↗

not to worry, they have an 'AI generated summary' box too

1h agoHN ↗

Its a recursive summarization pyramid

47m agoHN ↗

This thread flags an honest assessment of AI signal detection.

1h agoHN ↗

That's actually a magnificent observation. This is not only an indication of a keen eye, but a trained brilliant mind as well.

56m agoHN ↗

even Nvidia

Why "even Nvidia"?

They are fully behind using AI for basically everything.

What's next? "Damn, even McDonald's is putting out unhealthy food"

40m agoHN ↗

Sure, but even Anthropic doesn't appear to use Claude for blog posts. (I don't think anyone should. The prose stinks.)

14m agoHN ↗

Anthropic _absolutely_ does

They are just better at hiding it or configuring Claude.

I have several skills that reformat text to remove AI-speak tells.

6m agoHN ↗

I get the impression that Nvidia employees don't care too much - I started seeing fully AI-written "documentation" on some of their smaller projects more than a year ago (i.e., before it was even slightly a good idea).

4m agoHN ↗

People never really read documentation before. Agents do read it now, and they seem to understand LLM-written text just fine.

4m agoHN ↗

Is that your honest load bearing assessment you’re going to flag?

1h agoHN ↗

First of all, this is a pre-1.0 release that requires a nightly Rust compiler (if you choose the SIMT track with cuda-oxide) so that one is going to be unstable software.

Secondly, When an issue occurs with a kernel or you want to write your own custom kernel in Rust, now we need to diagnose if the problem came from either cuda-oxide (SIMT), Rust's side, CUDA or Tile (If you decide to choose the Tile track).

Another dependency into the list and course everything is open source except CUDA itself. So any issue that happens on the CUDA level, you are forced to wait for them to fix it.

1h agoHN ↗

In this age of LLM written everything which has softly killed my motivation for learning Rust somewhat, this has revived my interest if not only for the fact the LLMs haven't yet been trained on this yet!

1h agoHN ↗

LLM don't need to be trained in a library to use it well. It's just Rust which they know well.

1h agoHN ↗

And what prevent you exactly ?

There were humans far superior than you for writting Rust before LLM, now there's a LLM. The only difference is price and time execution.

You get an awesome teacher (LLM) ready to answer all your questions about Rust.

And you still find excuses not to learn it ?

At some point, just realize you've been lazy to learn it and LLMs are just an excuse.

45m agoHN ↗

I think OP’s point is that the payoff in learning a new language has diminished in this AI era. You can call that lazy, I’d consider it smart to consider whether you could be doing other, better, things with your time.

15m agoHN ↗

If the sole motivation for learning things are payoff, then sure.

1h agoHN ↗

what this article tells me is that no one at Nvidia actually cares about this project whatsoever. otherwise, they would have had a person actually write the announcement.

1h agoHN ↗

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.

1h agoHN ↗

Is this satire? D3D12 and Metal aren't any less proprietary than CUDA.

1h agoHN ↗

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

Isn't that how CUDA code is normally written?

46m agoHN ↗

No. CUDA allows you to write all the code in a single file, and uses a preprocessor to split it back out and pass it through separate compilers, one for host and one for device.

36m agoHN ↗

This true, but you can write the two separately if you want.

The disadvantages of writing them together are listed in the various parent posts. But some code authors really like the convenience of having the two in the same file.

1h agoHN ↗

You could also use Mojo, one language for all targets.

1h agoHN ↗

I began to lose interest after the acquisition. Have you been following along, are they still going to open source it?

1h agoHN ↗

I thought they already did and released the compiler source code under Apache 2.0.

1h agoHN ↗

The Mojo compiler has been open source for over a month now.

And the Mojo standard library has been open source for over a year.

It’s all open source. Go check it out!

30m agoHN ↗

Nice, thank you. There is an old python project I've been thinking about converting to Mojo.

1h agoHN ↗

Once you have allowed that proprietary cr*p into your C++ codebase

People have been doing that all the time for every kind of codebase. It's just part of the business. I don't see how it's worth having any emotions or opinions about it. Seems like you are wasting your energy.

Are win32 APIs proprietary? So you decide to use them, use a wrapper/UI framework, or don't develop for Windows. Easy choice.

Developing for embedded devices? So you read the manufacturers manual and implement based on the spec, use some sort of HAL if they are available, or you don't have a job. Even simpler.

47m agoHN ↗

CUDA is not an API, CUDA is a language, so you cannot make that comparison.

27m agoHN ↗

The CUDA runtime is a special case of one of the libraries provided by the CUDA Toolkit. The CUDA runtime provides both an API and some language extensions to handle common tasks such as allocating memory, copying data between GPUs and other GPUs or CPUs, and launching kernels. The API components of the CUDA runtime are referred to as the CUDA runtime API.

From: https://docs.nvidia.com/cuda/cuda-programming-guide/01-intro...

55m agoHN ↗

yeah, just write a stub/wrapper around it and abstract. it's the classic coupling problem. nothing to do with CUDA

33m agoHN ↗

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.

47m agoHN ↗

Will it then be possible to query TJunc hotspot temps on linux?

6m agoHN ↗

Rust just makes you sign a waiver first.