[all-commits] [llvm/llvm-project] 488094: [mlir][gpu] Add `subgroup_broadcast` op (#152808)

Ivan Butygin via All-commits all-commits at lists.llvm.org
Fri Aug 29 23:26:10 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4880940c8474d5ea996a24a6bebe557283e9f2e1
      https://github.com/llvm/llvm-project/commit/4880940c8474d5ea996a24a6bebe557283e9f2e1
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-08-30 (Sat, 30 Aug 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
    A mlir/test/Dialect/GPU/broadcast-speculatability.mlir
    M mlir/test/Dialect/GPU/int-range-interface.mlir
    M mlir/test/Dialect/GPU/ops.mlir

  Log Message:
  -----------
  [mlir][gpu] Add `subgroup_broadcast` op (#152808)

`subgroup_broadcast` allow to broadcast the value from one lane to all
lanes in subgroup.

Supported modes:
* `first_active_lane` - broadcast value from the first active lane in
subgroup.
* `specific_lane` - broadcast value from the specified lane, lane index
must be within subgroup.
* `any_lane` - if `src` value is uniform across all the subgroup lanes
return it unchanged, otherwise result is poison. This variant
essentially an uniformity hint for the compiler, conveying that specific
value is uniform across all subgroup lanes. Dropping `any_lane`
broadcast should not change the code semantics.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list