aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorNicolas Vasilache <Nico.Vasilache@amd.com>2025-07-07 18:06:41 +0200
committerGitHub <noreply@github.com>2025-07-07 18:06:41 +0200
commit2b28d100226bcf6710851137c31080cc670196d6 (patch)
tree0de9ed5b7be5f25ae63fafda619475b7e620dfb4 /flang/lib/Frontend/CompilerInvocation.cpp
parent499e656cacb04ca36c3cf39cc0b3d8d29c24c384 (diff)
downloadllvm-2b28d100226bcf6710851137c31080cc670196d6.zip
llvm-2b28d100226bcf6710851137c31080cc670196d6.tar.gz
llvm-2b28d100226bcf6710851137c31080cc670196d6.tar.bz2
[mlir][SCF][GPU] Add DeviceMaskingAttrInterface (#146943)
This revision adds DeviceMaskingAttrInterface and extends DeviceMappingArrayAttr to accept a union of DeviceMappingAttrInterface and DeviceMaskingAttrInterface. Support is added to GPUTransformOps to take advantage of this information and lower to block/warpgroup/warp/thread specialization when mapped to linear ids. The revision also connects to scf::ForallOp and uses the new attribute to implement warp specialization. The implementation is in the form of a GPUMappingMaskAttr, which can be additionally passed to the scf.forall.mapping attribute to specify a mask on compute resources that should be active. In the first implementation the masking is a bitfield that specifies for each processing unit whether it is active or not. In the future, we may want to implement this as a symbol to refer to dynamically defined values. Extending op semantics with an operand is deemed too intrusive at this time. --------- Co-authored-by: Oleksandr "Alex" Zinenko <git@ozinenko.com>
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions