Hello, I built cuTile Rust and just posted the paper preprint. Happy to answer questions. TL;DR: Rust gives you fearless concurrency on the CPU, but GPU kernel programming still requires unsafe code. cuTile Rust carries Rust's ownership model across the launch boundary and maintains it via a safe tile-based programming model that compiles to Tile IR. The host-side GPU work you write composes into synchronous launches…
Any thoughts on layering on-GPU work stealing or cudf on top? For gfql (graph query language mapping down to cudf calls), we're trying to jettison the hot loop of python->cpu->gpu, so been loosely watching cuTile evolve!
The hot loop you're describing is the whole reason you'd want to reach for a systems language over Python: once the orchestration lives in the interpreter, you pay for the round-trip every iteration. There are now two tile-based ways to do that in a compiled language: CUDA C++ Tile and cuTile Rust. Both get you out of Python and into the same tile model. What cuTile Rust adds is the safety layer: Rust's ownership model gives you compile-time memory safety and data-race freedom (we prove it in the paper), which the C++ path doesn't. So if you're moving off Python anyway, the real question is whether you want those guarantees.
How much of gfql maps cleanly depends on your specific ops and how the pipeline's structured. Happy to dig into it if you open an issue.