diff options
author | Jakub Kuderski <jakub@nod-labs.com> | 2023-12-21 11:55:43 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-21 11:55:43 -0500 |
commit | 72003adf6bd44e91778c22e42e94a28c28be2339 (patch) | |
tree | fee659d46edac78de6bca626dd02199b77ba5946 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | e6751c1a128320420801370ab662f213df5791b5 (diff) | |
download | llvm-72003adf6bd44e91778c22e42e94a28c28be2339.zip llvm-72003adf6bd44e91778c22e42e94a28c28be2339.tar.gz llvm-72003adf6bd44e91778c22e42e94a28c28be2339.tar.bz2 |
[mlir][gpu] Allow subgroup reductions over 1-d vector types (#76015)
Each vector element is reduced independently, which is a form of
multi-reduction.
The plan is to allow for gradual lowering of multi-reduction that
results in fewer `gpu.shuffle` ops at the end:
1d `vector.multi_reduction` --> 1d `gpu.subgroup_reduce` --> smaller 1d
`gpu.subgroup_reduce` --> packed `gpu.shuffle` over i32
For example we can perform 2 independent f16 reductions with a series of
`gpu.shuffles` over i32, reducing the final number of `gpu.shuffles` by 2x.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions