nod-ai / iree-amd-aie

IREE plugin repository for the AMD AIE accelerator
Apache License 2.0
68 stars 29 forks source link

`pack_peel_pipeline_matmul` and `conv_fill_spec_pad` consistently fail (on Mac) #704

Open makslevental opened 2 months ago

makslevental commented 2 months ago

I don't know why only Mac picks this up but there are several tests that actually consistently fail with errors like:

/Users/runner/work/iree-amd-aie/iree-amd-aie/tests/transform_dialect/conv_fill_spec_pad.mlir:57:3: warning: op argument #0 is not consumed in the body but is marked as consumed
  transform.named_sequence @full_pipeline(%variant_op: !any {transform.consumed}) {
  ^

https://github.com/nod-ai/iree-amd-aie/actions/runs/10563277691/job/29263141735#step:9:11051

@jtuyls, @newling any idea?

yzhang93 commented 2 months ago

What is the error for pack_peel_pipeline_matmul?

makslevental commented 2 months ago

I don't remember but if you remove -E ... here https://github.com/nod-ai/iree-amd-aie/blob/main/build_tools/ci/build_test_cpp.sh#L101 you'll see it fail in CI.

yzhang93 commented 2 months ago

It seems conv_fill_spec_pad fails flaky now, and I was also able to reproduce the failure for pack_peel_pipeline_matmul.

Please report issues to https://github.com/iree-org/iree/issues and include the crash backtrace.
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  libIREECompiler.dylib    0x0000000116f010d8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1  libIREECompiler.dylib    0x0000000116eff160 llvm::sys::RunSignalHandlers() + 112
2  libIREECompiler.dylib    0x0000000116f01794 SignalHandler(int) + 360
3  libsystem_platform.dylib 0x00000001958b2584 _sigtramp + 56
4  libIREECompiler.dylib    0x00000001179fa9b0 (anonymous namespace)::ShrinkMemrefSizesByAccessPattern::matchAndRewrite(mlir::memref::AllocOp, mlir::PatternRewriter&) const + 6000
5  libIREECompiler.dylib    0x00000001179fa9b0 (anonymous namespace)::ShrinkMemrefSizesByAccessPattern::matchAndRewrite(mlir::memref::AllocOp, mlir::PatternRewriter&) const + 6000
6  libIREECompiler.dylib    0x000000011ac4b2d8 void llvm::function_ref<void ()>::callback_fn<mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<llvm::LogicalResult (mlir::Pattern const&)>)::$_2>(long) + 812
7  libIREECompiler.dylib    0x000000011ac485f0 mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<llvm::LogicalResult (mlir::Pattern const&)>) + 828
8  libIREECompiler.dylib    0x000000011ac2c794 (anonymous namespace)::GreedyPatternRewriteDriver::processWorklist() + 3448
9  libIREECompiler.dylib    0x000000011ac29718 mlir::applyPatternsAndFoldGreedily(mlir::Region&, mlir::FrozenRewritePatternSet const&, mlir::GreedyRewriteConfig, bool*) + 1904
10 libIREECompiler.dylib    0x00000001179f4764 (anonymous namespace)::AIRSegmentLoopFusion::runOnOperation() + 2056
11 libIREECompiler.dylib    0x00000001170d0578 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) + 564
12 libIREECompiler.dylib    0x00000001170d0d80 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) + 324
13 libIREECompiler.dylib    0x00000001170d2074 mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool) + 2568
14 libIREECompiler.dylib    0x00000001170d08c4 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) + 1408
15 libIREECompiler.dylib    0x00000001170d0d80 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) + 324
16 libIREECompiler.dylib    0x00000001170d2074 mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool) + 2568
17 libIREECompiler.dylib    0x00000001170d08c4 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) + 1408
18 libIREECompiler.dylib    0x00000001170d0d80 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) + 324
19 libIREECompiler.dylib    0x0000000117e0417c mlir::iree_compiler::IREE::HAL::(anonymous namespace)::TranslateTargetExecutableVariantsPass::runOnOperation() + 368
FileCheck error: '<stdin>' is empty.