Skip to content

Commit 3f713f5

Browse files
authored
[ROCm] Add mi325x to known targets (#19846)
1 parent 6e90b9f commit 3f713f5

File tree

3 files changed

+8
-2
lines changed

3 files changed

+8
-2
lines changed

compiler/plugins/target/ROCM/test/target_device_features.mlir

+4-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
// RUN: --iree-hip-target=mi300a %s | FileCheck %s --check-prefixes=GFX942,MI300A
55
// RUN: iree-opt --pass-pipeline='builtin.module(iree-hal-assign-target-devices{targetDevices=hip},iree-hal-transformation-pipeline{serialize-executables=false})' \
66
// RUN: --iree-hip-target=mi308x %s | FileCheck %s --check-prefixes=GFX942,MI308X
7+
// RUN: iree-opt --pass-pipeline='builtin.module(iree-hal-assign-target-devices{targetDevices=hip},iree-hal-transformation-pipeline{serialize-executables=false})' \
8+
// RUN: --iree-hip-target=mi325x %s | FileCheck %s --check-prefixes=GFX942,MI325X
79
//
810
// RUN: iree-opt --pass-pipeline='builtin.module(iree-hal-assign-target-devices{targetDevices=hip},iree-hal-transformation-pipeline{serialize-executables=false})' \
911
// RUN: --iree-hip-target=gfx941 --iree-hip-target-features=+sramecc,-xnack %s | FileCheck %s --check-prefix=GFX941
@@ -32,7 +34,8 @@
3234
// GFX942-SAME: max_workgroup_counts = [2147483647, 2147483647, 2147483647],
3335
// MI300X: chip = <wgp_count = 304, sku = "mi300x">>
3436
// MI300A: chip = <wgp_count = 228, sku = "mi300a">>
35-
// MI308X: chip = <wgp_count = 80, sku = "mi308x">>
37+
// MI308X: chip = <wgp_count = 80, sku = "mi308x">>
38+
// MI325X: chip = <wgp_count = 304, sku = "mi325x">>
3639

3740
// GFX941: target = #iree_gpu.target<arch = "gfx941",
3841
// GFX941-SAME: features = "+sramecc,-xnack"

compiler/src/iree/compiler/Codegen/Dialect/GPU/TargetUtils/KnownTargets.cpp

+3-1
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,7 @@ std::optional<TargetDetails> getAMDGPUTargetDetails(StringRef target) {
287287
static const ChipDetails mi300xChip = {304, "mi300x"};
288288
static const ChipDetails mi300aChip = {228, "mi300a"};
289289
static const ChipDetails mi308xChip = {80, "mi308x"};
290+
static const ChipDetails mi325xChip = {304, "mi325x"};
290291

291292
// "AMD Instinct MI200 Series Accelerator Product Offerings" in Page 14 of
292293
// https://www.amd.com/content/dam/amd/en/documents/instinct-business-docs/white-papers/amd-cdna2-white-paper.pdf
@@ -310,6 +311,7 @@ std::optional<TargetDetails> getAMDGPUTargetDetails(StringRef target) {
310311
// See https://llvm.org/docs/AMDGPUUsage.html#processors for gfxN to
311312
// cdnaN/rdnaN mapping.
312313
return llvm::StringSwitch<std::optional<TargetDetails>>(target.lower())
314+
.Case("mi325x", TargetDetails{cdna3Wgp, &mi325xChip})
313315
.Case("mi300x", TargetDetails{cdna3Wgp, &mi300xChip})
314316
.Case("mi300a", TargetDetails{cdna3Wgp, &mi300aChip})
315317
.Case("mi308x", TargetDetails{cdna3Wgp, &mi308xChip})
@@ -356,7 +358,7 @@ StringRef normalizeAMDGPUTarget(StringRef target) {
356358
return target;
357359

358360
return llvm::StringSwitch<StringRef>(target.lower())
359-
.Cases("mi300a", "mi300x", "mi308x", "gfx942")
361+
.Cases("mi300a", "mi300x", "mi308x", "mi325x", "gfx942")
360362
.Cases("mi250x", "mi250", "mi210", "cdna2", "gfx90a")
361363
.Cases("mi100", "cdna1", "gfx908")
362364
.Cases("rx7900xtx", "rx7900xt", "w7900", "w7800", "gfx1100")

docs/website/docs/guides/deployment-configurations/gpu-rocm.md

+1
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ compile towards each GPU chip. Here is a table of commonly used architectures:
128128
| AMD MI300A | `mi300a` | `gfx942` | `cdna3` |
129129
| AMD MI300X | `mi300x` | `gfx942` | `cdna3` |
130130
| AMD MI308X | `mi308x` | `gfx942` | `cdna3` |
131+
| AMD MI325X | `mi325x` | `gfx942` | `cdna3` |
131132
| AMD RX7900XTX | `rx7900xtx` | `gfx1100` | `rdna3` |
132133
| AMD RX7900XT | `rx7900xt` | `gfx1100` | `rdna3` |
133134
| AMD PRO W7900 | `w7900` | `gfx1100` | `rdna3` |

0 commit comments

Comments
 (0)