Skip to content

Commit ce4f7ca

Browse files
bangtianliuhhkit
authored andcommitted
[Codegen][Tuner] retire the C/Python binding for querying mma intrinsic. NFC. (iree-org#21816)
Since we've already exposed the IREE GPU python binding for target info in iree-org#21782 and iree-org#21812, therefore we can now retire the legacy C/Python binding for querying mma intrinsic. This also allows us to fully remove the `TestLLVMGPUQueryMMAPass ` including the utility function and associated test file. --------- Signed-off-by: Bangtian Liu <[email protected]> Signed-off-by: Ivan Ho <[email protected]>
1 parent c4095e5 commit ce4f7ca

File tree

16 files changed

+0
-223
lines changed

16 files changed

+0
-223
lines changed

compiler/bindings/c/iree/compiler/dialects/iree_codegen.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,6 @@ MLIR_CAPI_EXPORTED void ireeCodegenGetTunerRootOps(MlirModule module,
7575
size_t *numOps,
7676
MlirOperation *rootOps);
7777

78-
MLIR_CAPI_EXPORTED void ireeCodegenQueryMMAIntrinsics(MlirOperation op,
79-
size_t *numIntrinsics,
80-
uint32_t *mmaIntrinsics);
81-
8278
struct ireeCodegenAttentionOpDetail {
8379
MlirAttribute batch;
8480
MlirAttribute m;

compiler/bindings/python/IREECompilerDialectsModule.cpp

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -38,23 +38,6 @@ ireeCodegenGetExecutableVariantOpsBinding(MlirModule module) {
3838
return ops;
3939
}
4040

41-
static std::vector<py::object>
42-
ireeCodegenQueryMMAIntrinsicsBinding(MlirOperation op) {
43-
size_t numMMAs = 0;
44-
ireeCodegenQueryMMAIntrinsics(op, &numMMAs, nullptr);
45-
std::vector<uint32_t> mmaIntrinsics(numMMAs);
46-
ireeCodegenQueryMMAIntrinsics(op, &numMMAs, mmaIntrinsics.data());
47-
48-
py::object mmaIntrinsicEnum =
49-
py::module_::import_(kGpuModuleImportPath).attr(kMMAIntrinsicEnumName);
50-
std::vector<py::object> mmaList(numMMAs);
51-
for (size_t i = 0; i < numMMAs; ++i) {
52-
mmaList[i] = mmaIntrinsicEnum(mmaIntrinsics[i]);
53-
}
54-
55-
return mmaList;
56-
}
57-
5841
static std::vector<MlirOperation>
5942
ireeCodegenGetTunerRootOpsBinding(MlirModule module) {
6043
size_t numOps = 0;
@@ -648,15 +631,6 @@ NB_MODULE(_ireeCompilerDialects, m) {
648631
"Gets the executable variant operations from a module.",
649632
py::arg("module"));
650633

651-
//===-------------------------------------------------------------------===//
652-
// Binding to utility function queryMMAIntrinsics
653-
//===-------------------------------------------------------------------===//
654-
655-
iree_codegen_module.def(
656-
"query_mma_intrinsics", &ireeCodegenQueryMMAIntrinsicsBinding,
657-
"Queries the MMA intrinsics from an executable variant op.",
658-
py::arg("op"));
659-
660634
//===-------------------------------------------------------------------===//
661635
// Binding to utility function ireeCodegenGetTunerRootOps
662636
//===-------------------------------------------------------------------===//

compiler/src/iree/compiler/API/Internal/IREECodegenDialectCAPI.cpp

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ using mlir::iree_compiler::IREE::Codegen::DispatchLoweringPassPipeline;
3030
using mlir::iree_compiler::IREE::Codegen::DispatchLoweringPassPipelineAttr;
3131
using mlir::iree_compiler::IREE::Codegen::LoweringConfigAttrInterface;
3232
using mlir::iree_compiler::IREE::Codegen::TranslationInfoAttr;
33-
using mlir::iree_compiler::IREE::GPU::MMAIntrinsic;
3433
using mlir::iree_compiler::IREE::HAL::ExecutableVariantOp;
3534

3635
bool ireeAttributeIsACodegenDispatchLoweringPassPipelineAttr(
@@ -181,29 +180,6 @@ void ireeCodegenGetExecutableVariantOps(MlirModule module, size_t *numOps,
181180
}
182181
}
183182

184-
void ireeCodegenQueryMMAIntrinsics(MlirOperation op, size_t *numIntrinsics,
185-
uint32_t *mmaIntrinsics) {
186-
assert(numIntrinsics && "numIntrinsics cannot be nullptr");
187-
188-
mlir::Operation *mlirOp = unwrap(op);
189-
auto variantOp = llvm::dyn_cast_if_present<ExecutableVariantOp>(mlirOp);
190-
assert(variantOp && "operation is not a ExecutableVariantOp");
191-
192-
llvm::SmallVector<MMAIntrinsic> intrinsics =
193-
mlir::iree_compiler::queryMMAIntrinsics(variantOp);
194-
if (!mmaIntrinsics) {
195-
*numIntrinsics = intrinsics.size();
196-
return;
197-
}
198-
199-
assert(*numIntrinsics == intrinsics.size() &&
200-
"*numIntrinsics must match the number of elements in the intrinsics");
201-
202-
for (size_t i = 0, e = intrinsics.size(); i < e; ++i) {
203-
mmaIntrinsics[i] = static_cast<uint32_t>(intrinsics[i]);
204-
}
205-
}
206-
207183
void ireeCodegenGetTunerRootOps(MlirModule module, size_t *numOps,
208184
MlirOperation *rootOps) {
209185
assert(!mlirModuleIsNull(module) && "module cannot be nullptr");

compiler/src/iree/compiler/API/api_exports.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ extern void ireeCodegenGetExecutableVariantOps();
3030
extern void ireeGPUGetSingleSubgroupLayout();
3131
extern void ireeCodegenGetTunerRootOps();
3232
extern void ireeCodegenGetAttentionOpDetail();
33-
extern void ireeCodegenQueryMMAIntrinsics();
3433
extern void ireeCodegenMlirOperationIsACodegenAttentionOp();
3534
extern void ireeCodegenTranslationInfoAttrGet();
3635
extern void ireeCodegenTranslationInfoAttrGetParameters();
@@ -947,7 +946,6 @@ uintptr_t __iree_compiler_hidden_force_extern() {
947946
x += (uintptr_t)&ireeGPUGetSingleSubgroupLayout;
948947
x += (uintptr_t)&ireeCodegenGetTunerRootOps;
949948
x += (uintptr_t)&ireeCodegenGetAttentionOpDetail;
950-
x += (uintptr_t)&ireeCodegenQueryMMAIntrinsics;
951949
x += (uintptr_t)&ireeCodegenMlirOperationIsACodegenAttentionOp;
952950
x += (uintptr_t)&ireeCodegenTranslationInfoAttrGet;
953951
x += (uintptr_t)&ireeCodegenTranslationInfoAttrGetParameters;

compiler/src/iree/compiler/API/api_exports.def

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ EXPORTS
2020
ireeGPUGetSingleSubgroupLayout
2121
ireeCodegenGetTunerRootOps
2222
ireeCodegenGetAttentionOpDetail
23-
ireeCodegenQueryMMAIntrinsics
2423
ireeCodegenMlirOperationIsACodegenAttentionOp
2524
ireeCodegenTranslationInfoAttrGet
2625
ireeCodegenTranslationInfoAttrGetParameters

compiler/src/iree/compiler/API/api_exports.ld

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ VER_0 {
2121
ireeGPUGetSingleSubgroupLayout;
2222
ireeCodegenGetTunerRootOps;
2323
ireeCodegenGetAttentionOpDetail;
24-
ireeCodegenQueryMMAIntrinsics;
2524
ireeCodegenMlirOperationIsACodegenAttentionOp;
2625
ireeCodegenTranslationInfoAttrGet;
2726
ireeCodegenTranslationInfoAttrGetParameters;

compiler/src/iree/compiler/API/api_exports.macos.lst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ _ireeCodegenGetExecutableVariantOps
1919
_ireeGPUGetSingleSubgroupLayout
2020
_ireeCodegenGetTunerRootOps
2121
_ireeCodegenGetAttentionOpDetail
22-
_ireeCodegenQueryMMAIntrinsics
2322
_ireeCodegenMlirOperationIsACodegenAttentionOp
2423
_ireeCodegenTranslationInfoAttrGet
2524
_ireeCodegenTranslationInfoAttrGetParameters

compiler/src/iree/compiler/Codegen/LLVMGPU/BUILD.bazel

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,6 @@ iree_compiler_cc_library(
115115
"ROCDLConfigureBufferInstructions.cpp",
116116
"ROCDLLowerExecutableTarget.cpp",
117117
"ROCDLPrefetching.cpp",
118-
"TestLLVMGPUQueryMMAPass.cpp",
119118
"Verifiers.cpp",
120119
],
121120
hdrs = [

compiler/src/iree/compiler/Codegen/LLVMGPU/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ iree_cc_library(
9494
"ROCDLConfigureBufferInstructions.cpp"
9595
"ROCDLLowerExecutableTarget.cpp"
9696
"ROCDLPrefetching.cpp"
97-
"TestLLVMGPUQueryMMAPass.cpp"
9897
"Verifiers.cpp"
9998
DEPS
10099
::PassHeaders

compiler/src/iree/compiler/Codegen/LLVMGPU/Passes.td

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,4 @@ def TestLLVMGPUScalarizeMathOpPass :
137137
let summary = "Test pass for several legalization patterns.";
138138
}
139139

140-
def TestLLVMGPUQueryMMAPass :
141-
Pass<"iree-test-llvmgpu-query-mma", "ModuleOp"> {
142-
let summary = "Test pass for querying the supported mma intrinsic instructions.";
143-
}
144-
145140
#endif // IREE_CODEGEN_LLVMGPU_PASSES

0 commit comments

Comments
 (0)