Add a lane-level XeGPU operation that re-distributes a subgroup's fragments across its lanes without changing the element type. The op takes a 1D vector — the fragment held by one lane — and returns a fragment of the same type. A pack/unpack mode selects the direction: viewing the subgroup as an S x N element grid (S = subgroup size, N = elements per lane), pack moves element j of lane i from logical position j*S + i to i*N + j, so a lane's elements end up at consecutive positions; unpack is the reverse. This implements xegpu.convert_layout semantics at the lane level when lane_layout is unchanged but lane_data differs. assisted-by-claude --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| benchmark/python | ||
| cmake/modules | ||
| docs | ||
| examples | ||
| include | ||
| lib | ||
| python | ||
| test | ||
| tools | ||
| unittests | ||
| utils | ||
| .clang-format | ||
| .clang-tidy | ||
| CMakeLists.txt | ||
| LICENSE.TXT | ||
| Maintainers.md | ||
| README.md | ||
Multi-Level Intermediate Representation
See https://mlir.llvm.org/ for more information.