[all-commits] [llvm/llvm-project] 2eff56: [MLIR] Add `and`, `or`, `xor`, `min`, `max` too gp...

Stephan Herhut via All-commits all-commits at lists.llvm.org
Tue Mar 10 13:09:34 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 2eff566b07dadb6ddb9852fa40e840fe607df50f
      https://github.com/llvm/llvm-project/commit/2eff566b07dadb6ddb9852fa40e840fe607df50f
  Author: Stephan Herhut <herhut at google.com>
  Date:   2020-03-10 (Tue, 10 Mar 2020)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/GPUOps.td
    M mlir/include/mlir/ExecutionEngine/RunnerUtils.h
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/GPU/Transforms/AllReduceLowering.cpp
    M mlir/lib/ExecutionEngine/RunnerUtils.cpp
    A mlir/test/Dialect/GPU/all-reduce-max.mlir
    M mlir/test/Dialect/GPU/invalid.mlir
    A mlir/test/mlir-cuda-runner/all-reduce-and.mlir
    A mlir/test/mlir-cuda-runner/all-reduce-max.mlir
    A mlir/test/mlir-cuda-runner/all-reduce-min.mlir
    A mlir/test/mlir-cuda-runner/all-reduce-or.mlir
    A mlir/test/mlir-cuda-runner/all-reduce-xor.mlir

  Log Message:
  -----------
  [MLIR] Add `and`, `or`, `xor`, `min`, `max` too gpu.all_reduce and the nvvm lowering

Summary:
This patch add some builtin operation for the gpu.all_reduce ops.
- for Integer only: `and`, `or`, `xor`
- for Float and Integer: `min`, `max`

This is useful for higher level dialect like OpenACC or OpenMP that can lower to the GPU dialect.

Differential Revision: https://reviews.llvm.org/D75766




More information about the All-commits mailing list