Skip to content
This repository was archived by the owner on Jan 26, 2026. It is now read-only.

Commit e684d81

Browse files
committed
cleanup
1 parent 737de51 commit e684d81

File tree

4 files changed

+80
-27
lines changed

4 files changed

+80
-27
lines changed

CMakeLists.txt

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -118,28 +118,47 @@ target_link_directories(_ddptensor PRIVATE
118118
message(${imex_all_libs})
119119
target_link_libraries(_ddptensor PRIVATE
120120
${MPI_C_LIBRARIES}
121-
${MKL_LIBRARIES}
122-
${mlir_all_libs}
121+
# ${MKL_LIBRARIES}
122+
tbb
123123
${imex_all_libs}
124124
MLIROptLib
125+
MLIRExecutionEngine
126+
MLIRIR
127+
MLIRAffineDialect
128+
MLIRAffineToStandard
129+
MLIRAffineTransforms
130+
MLIRFuncDialect
131+
MLIRFuncToLLVM
132+
MLIRFuncTransforms
133+
MLIRLinalgDialect
134+
MLIRLinalgToLLVM
135+
MLIRLinalgTransforms
136+
MLIRMathDialect
137+
MLIRMathToLLVM
138+
MLIRMathTransforms
139+
MLIRMemRefDialect
140+
MLIRMemRefToLLVM
141+
MLIRMemRefTransforms
142+
MLIRReconcileUnrealizedCasts
143+
MLIRSCFDialect
144+
MLIRSCFToControlFlow
145+
MLIRSCFTransforms
146+
MLIRShapeDialect
147+
MLIRShapeOpsTransforms
148+
MLIRShapeToStandard
149+
MLIRTensorTransforms
125150
)
126151
# LLVM${LLVM_NATIVE_ARCH}CodeGen
127152
# LLVM${LLVM_NATIVE_ARCH}Desc
128153
# LLVMTarget
129154
# MLIRAnalysis
130155
# MLIRCallInterfaces
131156
# MLIRCastInterfaces
132-
# MLIRExecutionEngine
133-
# MLIRFuncTransforms
134157
# MLIRGPUToGPURuntimeTransforms
135158
# MLIRGPUToSPIRV
136-
# MLIRIR
137159
# MLIRLLVMCommonConversion
138-
# MLIRLLVMIR
139160
# MLIRLLVMToLLVMIRTranslation
140-
# MLIRLinalgToLLVM
141161
# MLIRLinalgTransforms
142-
# MLIRMathToLLVM
143162
# MLIRMathToLibm
144163
# MLIRMemRef
145164
# MLIRParser
@@ -150,7 +169,4 @@ target_link_libraries(_ddptensor PRIVATE
150169
# MLIRSPIRVTransforms
151170
# MLIRSideEffectInterfaces
152171
# MLIRTargetLLVMIRExport
153-
# MLIRTensorTransforms
154172
# MLIRTransforms
155-
# MLIRAffineToStandard
156-
# MLIRAffineTransforms)

src/jit/mlir.cpp

Lines changed: 53 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,36 @@
77

88
#include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
99
#include "mlir/Dialect/MemRef/IR/MemRef.h"
10-
#include "mlir/Dialect/MemRef/Transforms/Passes.h"
11-
#include "mlir/Dialect/Affine/Passes.h"
1210
#include "mlir/Dialect/Func/IR/FuncOps.h"
1311

14-
#include "imex/Dialect/PTensor/IR/PTensorOps.h"
15-
1612
#include "mlir/Pass/Pass.h"
1713
#include "mlir/Pass/PassManager.h"
18-
#include "mlir/Transforms/Passes.h"
14+
// #include "mlir/Transforms/Passes.h"
1915
#include "llvm/ADT/Twine.h"
16+
2017
#include "mlir/Pass/PassRegistry.h"
18+
#include "mlir/Conversion/Passes.h"
19+
#include "mlir/Dialect/Affine/Passes.h"
20+
#include "mlir/Dialect/Arithmetic/Transforms/Passes.h"
21+
// #include "mlir/Dialect/Async/Passes.h"
22+
#include "mlir/Dialect/Bufferization/Transforms/Passes.h"
23+
#include "mlir/Dialect/Func/Transforms/Passes.h"
24+
// #include "mlir/Dialect/GPU/Transforms/Passes.h"
25+
// #include "mlir/Dialect/LLVMIR/Transforms/Passes.h"
26+
#include "mlir/Dialect/Linalg/Passes.h"
27+
#include "mlir/Dialect/MemRef/Transforms/Passes.h"
28+
// #include "mlir/Dialect/NVGPU/Passes.h"
29+
#include "mlir/Dialect/SCF/Transforms/Passes.h"
30+
// #include "mlir/Dialect/SPIRV/Transforms/Passes.h"
31+
#include "mlir/Dialect/Shape/Transforms/Passes.h"
32+
// #include "mlir/Dialect/SparseTensor/Pipelines/Passes.h"
33+
// #include "mlir/Dialect/SparseTensor/Transforms/Passes.h"
34+
#include "mlir/Dialect/Tensor/Transforms/Passes.h"
35+
// #include "mlir/Dialect/Tosa/Transforms/Passes.h"
36+
// #include "mlir/Dialect/Transform/Transforms/Passes.h"
37+
// #include "mlir/Dialect/Vector/Transforms/Passes.h"
38+
#include "mlir/Transforms/Passes.h"
39+
2140

2241
#include "mlir/Conversion/MemRefToLLVM/MemRefToLLVM.h"
2342
#include "mlir/Conversion/ReconcileUnrealizedCasts/ReconcileUnrealizedCasts.h"
@@ -26,8 +45,7 @@
2645
#include "mlir/ExecutionEngine/OptUtils.h"
2746
#include "mlir/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.h"
2847

29-
#include <mlir/InitAllDialects.h>
30-
#include <mlir/InitAllPasses.h>
48+
#include <imex/Dialect/PTensor/IR/PTensorOps.h>
3149
#include <imex/InitIMEXDialects.h>
3250
#include <imex/InitIMEXPasses.h>
3351

@@ -213,11 +231,18 @@ void DepManager::deliver(intptr_t * output, uint64_t sz)
213231
}
214232

215233
int JIT::run(::mlir::ModuleOp & module, const std::string & fname, std::vector<void*> & inp, intptr_t * out)
216-
{
234+
{
235+
// lower to LLVM
217236
if (::mlir::failed(_pm.run(module)))
218237
throw std::runtime_error("failed to run pass manager");
219238

220-
module.dump();
239+
const char * v_ = getenv("DDPT_VERBOSE");
240+
if(v_) {
241+
std::string v(v_);
242+
if(v == "0" || v == "n" || v == "N" || v == "off" || v == "OFF") v_ = nullptr;
243+
}
244+
if(v_) module.dump();
245+
221246
// An optimization pipeline to use within the execution engine.
222247
auto optPipeline = ::mlir::makeOptimizingTransformer(/*optLevel=*/0,
223248
/*sizeLevel=*/0,
@@ -231,9 +256,6 @@ int JIT::run(::mlir::ModuleOp & module, const std::string & fname, std::vector<v
231256
assert(maybeEngine && "failed to construct an execution engine");
232257
auto &engine = maybeEngine.get();
233258

234-
const char * fn = getenv("DDPT_FN");
235-
if(!fn) fn = fname.c_str();
236-
237259
llvm::SmallVector<void *> args;
238260
// first arg must be the result ptr
239261
args.push_back(&out);
@@ -244,7 +266,7 @@ int JIT::run(::mlir::ModuleOp & module, const std::string & fname, std::vector<v
244266
}
245267

246268
// Invoke the JIT-compiled function.
247-
if(engine->invokePacked(std::string("_mlir_ciface_") + fn, args)) {
269+
if(engine->invokePacked(std::string("_mlir_ciface_") + fname.c_str(), args)) {
248270
::llvm::errs() << "JIT invocation failed\n";
249271
throw std::runtime_error("JIT invocation failed");
250272
}
@@ -281,7 +303,24 @@ JIT::JIT()
281303
void init()
282304
{
283305
assert(sizeof(intptr_t) == sizeof(void*));
284-
::mlir::registerAllPasses();
306+
// ::mlir::registerAllPasses();
307+
::mlir::registerSCFPasses();
308+
::mlir::registerSCFToControlFlowPass();
309+
::mlir::registerShapePasses();
310+
::mlir::registerConvertShapeToStandardPass();
311+
::mlir::tensor::registerTensorPasses();
312+
::mlir::registerLinalgPasses();
313+
::mlir::func::registerFuncPasses();
314+
::mlir::registerConvertFuncToLLVMPass();
315+
::mlir::bufferization::registerBufferizationPasses();
316+
::mlir::arith::registerArithmeticPasses();
317+
::mlir::registerAffinePasses();
318+
::mlir::registerConvertMemRefToLLVMPass();
319+
::mlir::registerCanonicalizerPass();
320+
::mlir::registerConvertAffineToStandardPass();
321+
::mlir::memref::registerMemRefPasses();
322+
::mlir::registerReconcileUnrealizedCastsPass();
323+
285324
::imex::registerAllPasses();
286325

287326
// ::mlir::DialectRegistry registry;

third_party/dpcomp

Lines changed: 0 additions & 1 deletion
This file was deleted.

third_party/mlir-extensions

Submodule mlir-extensions deleted from 764aca4

0 commit comments

Comments
 (0)