Skip to content

Commit cd508f7

Browse files
committed
[mlir][gpu] Remove old GPU serialization passes
This patch removes the last vestiges of the old gpu serialization pipeline. To compile GPU code use target attributes instead.
1 parent 3f6fe4e commit cd508f7

File tree

6 files changed

+1
-721
lines changed

6 files changed

+1
-721
lines changed

mlir/include/mlir/Conversion/Passes.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,7 @@ def GpuToLLVMConversionPass : Pass<"gpu-to-llvm", "ModuleOp"> {
480480
"The kernel must use the same setting for this option."
481481
>,
482482
Option<"gpuBinaryAnnotation", "gpu-binary-annotation", "std::string",
483-
/*default=*/"gpu::getDefaultGpuBinaryAnnotation()",
483+
/*default=*/"",
484484
"Annotation attribute string for GPU binary"
485485
>
486486
];

mlir/include/mlir/Dialect/GPU/Transforms/Passes.h

Lines changed: 0 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -91,75 +91,12 @@ namespace gpu {
9191
LogicalResult transformGpuModulesToBinaries(
9292
Operation *op, OffloadingLLVMTranslationAttrInterface handler = nullptr,
9393
const gpu::TargetOptions &options = {});
94-
95-
/// Base pass class to serialize kernel functions through LLVM into
96-
/// user-specified IR and add the resulting blob as module attribute.
97-
class SerializeToBlobPass : public OperationPass<gpu::GPUModuleOp> {
98-
public:
99-
SerializeToBlobPass(TypeID passID);
100-
SerializeToBlobPass(const SerializeToBlobPass &other);
101-
102-
void runOnOperation() final;
103-
104-
protected:
105-
/// Hook allowing the application of optimizations before codegen
106-
/// By default, does nothing
107-
virtual LogicalResult optimizeLlvm(llvm::Module &llvmModule,
108-
llvm::TargetMachine &targetMachine);
109-
110-
/// Translates the 'getOperation()' result to an LLVM module.
111-
virtual std::unique_ptr<llvm::Module>
112-
translateToLLVMIR(llvm::LLVMContext &llvmContext);
113-
114-
private:
115-
/// Creates the LLVM target machine to generate the ISA.
116-
std::unique_ptr<llvm::TargetMachine> createTargetMachine();
117-
118-
/// Translates the module to ISA
119-
std::optional<std::string> translateToISA(llvm::Module &llvmModule,
120-
llvm::TargetMachine &targetMachine);
121-
122-
/// Serializes the target ISA to binary form.
123-
virtual std::unique_ptr<std::vector<char>>
124-
serializeISA(const std::string &isa) = 0;
125-
126-
protected:
127-
Option<std::string> triple{*this, "triple",
128-
::llvm::cl::desc("Target triple")};
129-
Option<std::string> chip{*this, "chip",
130-
::llvm::cl::desc("Target architecture")};
131-
Option<std::string> features{*this, "features",
132-
::llvm::cl::desc("Target features")};
133-
Option<int> optLevel{*this, "opt-level",
134-
llvm::cl::desc("Optimization level for compilation"),
135-
llvm::cl::init(2)};
136-
Option<std::string> gpuBinaryAnnotation{
137-
*this, "gpu-binary-annotation",
138-
llvm::cl::desc("Annotation attribute string for GPU binary"),
139-
llvm::cl::init(getDefaultGpuBinaryAnnotation())};
140-
Option<bool> dumpPtx{*this, "dump-ptx",
141-
::llvm::cl::desc("Dump generated PTX"),
142-
llvm::cl::init(false)};
143-
};
14494
} // namespace gpu
14595

14696
//===----------------------------------------------------------------------===//
14797
// Registration
14898
//===----------------------------------------------------------------------===//
14999

150-
/// Register pass to serialize GPU kernel functions to a HSAco binary
151-
/// annotation.
152-
LLVM_DEPRECATED("use Target attributes instead", "")
153-
void registerGpuSerializeToHsacoPass();
154-
155-
/// Create an instance of the GPU kernel function to HSAco binary serialization
156-
/// pass.
157-
LLVM_DEPRECATED("use Target attributes instead", "")
158-
std::unique_ptr<Pass> createGpuSerializeToHsacoPass(StringRef triple,
159-
StringRef arch,
160-
StringRef features,
161-
int optLevel);
162-
163100
/// Collect a set of patterns to decompose memrefs ops.
164101
void populateGpuDecomposeMemrefsPatterns(RewritePatternSet &patterns);
165102

mlir/include/mlir/Dialect/GPU/Transforms/Utils.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,6 @@ namespace gpu {
2828
class GPUFuncOp;
2929
class LaunchOp;
3030

31-
/// Returns the default annotation name for GPU binary blobs.
32-
std::string getDefaultGpuBinaryAnnotation();
33-
3431
/// Returns the matching vector combining kind.
3532
vector::CombiningKind convertReductionKind(gpu::AllReduceOperation mode);
3633
} // namespace gpu

mlir/lib/Dialect/GPU/CMakeLists.txt

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,3 @@
1-
if (MLIR_ENABLE_ROCM_CONVERSIONS)
2-
set(AMDGPU_LIBS
3-
IRReader
4-
IPO
5-
linker
6-
MCParser
7-
AMDGPUAsmParser
8-
AMDGPUCodeGen
9-
AMDGPUDesc
10-
AMDGPUInfo
11-
target
12-
)
13-
endif()
14-
151
add_mlir_dialect_library(MLIRGPUDialect
162
IR/GPUDialect.cpp
173
IR/InferIntRangeInterfaceImpls.cpp
@@ -51,8 +37,6 @@ add_mlir_dialect_library(MLIRGPUTransforms
5137
Transforms/NVVMAttachTarget.cpp
5238
Transforms/ParallelLoopMapper.cpp
5339
Transforms/ROCDLAttachTarget.cpp
54-
Transforms/SerializeToBlob.cpp
55-
Transforms/SerializeToHsaco.cpp
5640
Transforms/ShuffleRewriter.cpp
5741
Transforms/SPIRVAttachTarget.cpp
5842
Transforms/SubgroupReduceLowering.cpp
@@ -61,12 +45,6 @@ add_mlir_dialect_library(MLIRGPUTransforms
6145
ADDITIONAL_HEADER_DIRS
6246
${MLIR_MAIN_INCLUDE_DIR}/mlir/Dialect/GPU
6347

64-
LINK_COMPONENTS
65-
Core
66-
MC
67-
Target
68-
${AMDGPU_LIBS}
69-
7048
DEPENDS
7149
MLIRGPUPassIncGen
7250
MLIRParallelLoopMapperEnumsGen
@@ -76,15 +54,12 @@ add_mlir_dialect_library(MLIRGPUTransforms
7654
MLIRArithDialect
7755
MLIRAsyncDialect
7856
MLIRBufferizationDialect
79-
MLIRBuiltinToLLVMIRTranslation
8057
MLIRDataLayoutInterfaces
8158
MLIRExecutionEngineUtils
8259
MLIRGPUDialect
8360
MLIRIR
8461
MLIRIndexDialect
8562
MLIRLLVMDialect
86-
MLIRGPUToLLVMIRTranslation
87-
MLIRLLVMToLLVMIRTranslation
8863
MLIRMemRefDialect
8964
MLIRNVVMTarget
9065
MLIRPass
@@ -99,21 +74,3 @@ add_mlir_dialect_library(MLIRGPUTransforms
9974

10075
add_subdirectory(TransformOps)
10176
add_subdirectory(Pipelines)
102-
103-
if(MLIR_ENABLE_ROCM_CONVERSIONS)
104-
if (NOT ("AMDGPU" IN_LIST LLVM_TARGETS_TO_BUILD))
105-
message(SEND_ERROR
106-
"Building mlir with ROCm support requires the AMDGPU backend")
107-
endif()
108-
109-
set(DEFAULT_ROCM_PATH "/opt/rocm" CACHE PATH "Fallback path to search for ROCm installs")
110-
target_compile_definitions(obj.MLIRGPUTransforms
111-
PRIVATE
112-
__DEFAULT_ROCM_PATH__="${DEFAULT_ROCM_PATH}"
113-
)
114-
115-
target_link_libraries(MLIRGPUTransforms
116-
PRIVATE
117-
MLIRROCDLToLLVMIRTranslation
118-
)
119-
endif()

mlir/lib/Dialect/GPU/Transforms/SerializeToBlob.cpp

Lines changed: 0 additions & 153 deletions
This file was deleted.

0 commit comments

Comments
 (0)