This PR re-lands https://github.com/llvm/llvm-project/pull/156830 This PR aims at fixing the nvdsl examples which got a bit out of sync not being tested in the CI. The fixed bugs were related to the following PRs: - move to nanobind #118583 - split gpu module initialization #135478 - gpu dialect python API change #163883