[libc-commits] [libc] [MLIR] Enabling Intel GPU Integration. (PR #65539)
Mehdi Amini via libc-commits
libc-commits at lists.llvm.org
Thu Sep 7 16:09:06 PDT 2023
joker-eph wrote:
> I won't call this as adding a "SYCL runner", it is add SYCL backend to mlir-cpu-runner. The term "xxx runner" in MLIR is a bit overused. mlir-cpu-runner doesn't mean it runs only on CPU, instead it runs both the host and device kernel. mlir-cpu-runner currently does that but the name is a bit misleading.
This naming stems originally that there was a `mlir-cuda-runner` which was actually implementing some “complex logic” that goes beyond just translating to LLVM and setting up the environment: they take an input in higher-level dialects (func+arith+gpu+…) and perform all the lowering.
We killed it to merge it into mlir-cpu-runner: [⚙ D98396 [mlir] Remove mlir-cuda-runner](https://reviews.llvm.org/D98396)
This means that all the "target specific" transformation are done with `mlir-opt` (or other tools) and `mlir-cpu-runner` is a "host" entry point without any complex logic: it won't do other transformation on the IR and just setup the JIT, load some runtime, and invoke the code through the LLVM JIT infra.
(this PR follows this model, and it's great!)
Vulkan and Spirv still have dedicated runners on the model of the original cuda-runner, but I suspect this is just legacy?
> We really just need a "mlir-runner" with target-platform as command parameters.
What kind of "target-platform" command parameters do you have in mind? (other than what we do now)
https://github.com/llvm/llvm-project/pull/65539
More information about the libc-commits
mailing list