[Mlir-commits] [mlir] [OpenMP][MLIR] Add omp.distribute op to the OMP dialect (PR #67720)

Kiran Chandramohan llvmlistbot at llvm.org
Thu Nov 16 09:22:50 PST 2023


kiranchandramohan wrote:

> I was originally thinking about other regular operations, however considering that there might be transformation ops there could be other ops than just a omp.canonical_loop inside a omp.distribute region.
> 
> ```
> omp.distribute {
>    %cli = omp.cli
>    canonical_loop ... %cli
>    omp.tile(%cli, ... )
> }
> ```
> 
> Also with the original proposal for omp.canonical_loop this would be possible.

Yes, but it will still apply to the first canonical loop or generated loop.

The possible issues, that I can think of if we lose the association with the loop are:
-> Handling of lastprivate. It would be difficult to do this in a delayed fashion (at OpenMPTranslation time).
-> Handling of collapse. How do you propose to handle this?

Also, is it guaranteed that the OpenMP runtime call generation for `distribute` do not need to know the bounds and loop control of the loop?

https://github.com/llvm/llvm-project/pull/67720


More information about the Mlir-commits mailing list