| ▲ | the__alchemist 6 hours ago | |
I'm confused about this: As the article outlines well, Std Rust (over core) buys you GPOS-provided things. For example:
The main relevant one I can think which applies is an allocator.I do a lot of GPU work with rust: Graphics in WGPU, and Cuda kernels + cuFFT mediated by Cudarc (A thin FFI lib). I guess, running Std lib on GPU isn't something I understand. What would be cool is the dream that's been building for decades about parallel computing abstractions where you write what looks like normal single-threaded CPU code, but it automagically works on SIMD instructions or GPU. I think this and CubeCL may be working towards that? (I'm using Burn as well on GPU, but that's abstracted over) Of note: Rayon sort of is that dream for CPU thread pools! | ||
| ▲ | zozbot234 6 hours ago | parent | next [-] | |
The GPU shader just calls back to the CPU which executes the OS-specific function and relays the answer to the GPU side. It might not make much sense on its own to have such strong coupling, but it gives you a default behavior that makes coding easier. | ||
| ▲ | shihab an hour ago | parent | prev [-] | |
I work with GPUs and I'm also trying to understand the motivations here. Side note & a hot take: that sort of abstraction never really existed for GPU and it's going to be even harder now as Nvidia et al races to put more & more specialized hardware bits inside GPUs | ||