SDK v1.3:
14:32:45 [INFO] Dump used CLI arguments to: /repo/build/cli_args.json
14:32:45 [INFO] Dump used compiler configuration to: /repo/build/conf.json
14:32:45 [INFO] Input model has static input shape(s): ((1, 1, 2, 2),). Use it for quantization.
14:32:45 [INFO] Data layout of the input model: NCHW
14:32:45 [INFO] Using dataset of size 100 for calibration.
14:32:45 [INFO] In case of compilation failures, turn on 'save_error_artifact' and share the archive with Axelera AI. 14:32:45 [INFO] Quantizing '' using QToolsV2.
14:32:46 [INFO] ONNX model validation can be turned off by setting 'validate_operators' to 'False'.
14:32:46 [INFO] Checking ONNX model compatibility with the constraints of opset 17. Calibrating... ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ | 100% | 390.54it/s | 100it |
14:32:46 [INFO] Exporting '' using GraphExporterV2.
14:32:47 [INFO] Quantization finished.
14:32:47 [INFO] Quantization took: 1.57 seconds.
14:32:47 [INFO] Export quantized model manifest to JSON file: /repo/build/quantized_model_manifest.json
14:32:47 [INFO] Lower input model to target device...
14:32:47 [INFO] In case of compilation failures, turn on 'save_error_artifact' and share the archive with Axelera AI.
14:32:47 [INFO] Lowering '' to target 'device' in 'multiprocess' mode for 1 AIPU core(s) using 100.0% of available AIPU resources.
14:32:47 [INFO] Running LowerFrontend...
14:32:48 [INFO] Running FrontendToMidend...
14:32:48 [INFO] Running LowerMidend...
14:32:48 [INFO] Running MidendToTIR...
14:32:49 [INFO] Running LowerTIR...
14:32:51 [INFO] LowerTIR succeeded to fit buffers into memory after iteration 0/4. Pool usage: {L1: alloc:1,058,944B avail:4,194,304B over:0B util:25.25%, L2: alloc:1,075,200B avail:32,309,248B over:0B util:3.33%, DDR: alloc:192B avail:1,040,187,392B over:0B util:0.00%} Overflowing buffer IDs: set()
14:32:51 [INFO] Running TirToAtex...
14:32:51 [INFO] Running LowerATEX...
14:32:51 [INFO] Running AtexToArtifact...
14:32:51 [INFO] Lowering finished!
14:32:51 [INFO] Compilation took: 4.0 seconds.
14:32:51 [INFO] Passes report was generated and saved to: /repo/build/compiled_model/pass_benchmark_report.json
14:32:51 [INFO] Lowering finished. Export model manifest to JSON file: /repo/build/compiled_model_manifest.json
14:32:51 [INFO] Total time: 5.59 seconds.
14:32:51 [INFO] Done.
When using SDK v1.4, same onnx file as before:
14:35:31 [INFO] Dump used CLI arguments to: /repo/build/cli_args.json
14:35:31 [INFO] Dump used compiler configuration to: /repo/build/conf.json
14:35:31 [INFO] Input model has static input shape(s): ((1, 1, 2, 2),). Use it for quantization.
14:35:31 [INFO] Data layout of the input model: NCHW
14:35:31 [INFO] Using dataset of size 100 for calibration.
14:35:31 [INFO] In case of compilation failures, turn on 'save_error_artifact' and share the archive with Axelera AI.
14:35:31 [INFO] Quantizing '' using QToolsV2.
14:35:31 [INFO] ONNX model validation can be turned off by setting 'validate_operators' to 'False'.
14:35:31 [INFO] Checking ONNX model compatibility with the constraints of opset 17.
Calibrating... ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ | 100% | 389.72it/s | 100it |
14:35:32 [INFO] Exporting '' using GraphExporterV2.
14:35:32 [INFO] Quantization finished.
14:35:32 [INFO] Quantization took: 0.8 seconds.
14:35:32 [INFO] Export quantized model manifest to JSON file: /repo/build/quantized_model_manifest.json
14:35:32 [INFO] Lower input model to target device...
14:35:32 [INFO] In case of compilation failures, turn on 'save_error_artifact' and share the archive with Axelera AI.
14:35:32 [INFO] Lowering '' to target 'device' in 'multiprocess' mode for 1 AIPU core(s) using 100.0% of available AIPU resources.
14:35:32 [INFO] Running LowerFrontend...
14:35:32 [ERROR] Failed passes: ['axelera.DenseToConv2d', 'LowerFrontend']
14:35:32 [INFO] TVM pass trace information stored in: /repo/build/compiled_model
14:35:32 [ERROR] Lowering failed. Failed pass: axelera.DenseToConv2d <- LowerFrontend
Traceback (most recent call last):
5: TVMFuncCall
4: tvm::runtime::PackedFuncObj::Extractor<tvm::runtime::PackedFuncSubObj<tvm::runtime::TypedPackedFunc<tvm::IRModule (tvm::transform::Pass, tvm::IRModule)>::AssignTypedLambda<tvm::transform::__mk_TVM9::{lambda(tvm::transform::Pass, tvm::IRModule)#1}>(tvm::transform::__mk_TVM9::{lambda(tvm::transform::Pass, tvm::IRModule)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)::{lambda(tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue*)#1}> >::Call(tvm::runtime::PackedFuncObj const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, tvm::runtime::TVMRetValue)
3: tvm::transform::Pass::operator()(tvm::IRModule) const
2: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
1: tvm::transform::ModulePassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
0: tvm::runtime::PackedFuncObj::Extractor<tvm::runtime::PackedFuncSubObj<TVMFuncCreateFromCFunc::{lambda(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)#2}> >::Call(tvm::runtime::PackedFuncObj const*, tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) [clone .cold]
File "/root/.cache/axelera/venvs/6d332c79/lib/python3.10/site-packages/tvm/_ffi/_ctypes/packed_func.py", line 82, in cfun
rv = local_pyfunc(*pyargs)
File "/root/.cache/axelera/venvs/6d332c79/lib/python3.10/site-packages/tvm/ir/transform.py", line 229, in _pass_func
return inst.transform_module(mod, ctx)
File "<frozen compiler.pipeline.frontend>", line 118, in transform_module
File "/root/.cache/axelera/venvs/6d332c79/lib/python3.10/site-packages/tvm/ir/transform.py", line 160, in __call__
return _ffi_transform_api.RunPass(self, mod)
File "/root/.cache/axelera/venvs/6d332c79/lib/python3.10/site-packages/tvm/_ffi/_ctypes/packed_func.py", line 238, in __call__
raise get_last_ffi_error()
5: TVMFuncCall
4: tvm::runtime::PackedFuncObj::Extractor<tvm::runtime::PackedFuncSubObj<tvm::runtime::TypedPackedFunc<tvm::IRModule (tvm::transform::Pass, tvm::IRModule)>::AssignTypedLambda<tvm::transform::__mk_TVM9::{lambda(tvm::transform::Pass, tvm::IRModule)#1}>(tvm::transform::__mk_TVM9::{lambda(tvm::transform::Pass, tvm::IRModule)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)::{lambda(tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue*)#1}> >::Call(tvm::runtime::PackedFuncObj const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, tvm::runtime::TVMRetValue)
3: tvm::transform::Pass::operator()(tvm::IRModule) const
2: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
1: tvm::transform::ModulePassNode::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
0: tvm::runtime::PackedFuncObj::Extractor<tvm::runtime::PackedFuncSubObj<TVMFuncCreateFromCFunc::{lambda(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)#2}> >::Call(tvm::runtime::PackedFuncObj const*, tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) [clone .cold]
File "/root/.cache/axelera/venvs/6d332c79/lib/python3.10/site-packages/tvm/_ffi/_ctypes/packed_func.py", line 82, in cfun
rv = local_pyfunc(*pyargs)
File "/root/.cache/axelera/venvs/6d332c79/lib/python3.10/site-packages/tvm/ir/transform.py", line 229, in _pass_func
return inst.transform_module(mod, ctx)
File "<frozen compiler.frontend.passes.pass_rewrite_dense_to_conv2d>", line 93, in transform_module
File "/root/.cache/axelera/venvs/6d332c79/lib/python3.10/site-packages/tvm/relay/dataflow_pattern/__init__.py", line 914, in rewrite
return ffi.rewrite(tmp, expr, mod)
File "/root/.cache/axelera/venvs/6d332c79/lib/python3.10/site-packages/tvm/_ffi/_ctypes/packed_func.py", line 238, in __call__
raise get_last_ffi_error()
8: TVMFuncCall
7: _ZN3tvm7runtime13PackedFuncObj
6: tvm::runtime::TypedPackedFunc<tvm::RelayExpr (tvm::runtime::Array<tvm::relay::DFPatternCallback, void>, tvm::RelayExpr, tvm::IRModule)>::AssignTypedLambda<tvm::RelayExpr (*)(tvm::runtime::Array<tvm::relay::DFPatternCallback, void>, tvm::RelayExpr, tvm::IRModule)>(tvm::RelayExpr (*)(tvm::runtime::Array<tvm::relay::DFPatternCallback, void>, tvm::RelayExpr, tvm::IRModule), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)::{lambda(tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue*)#1}::operator()(tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue*) const
5: tvm::relay::RewritePatterns(tvm::runtime::Array<tvm::relay::DFPatternCallback, void>, tvm::RelayExpr, tvm::IRModule)
4: tvm::relay::PatternRewriter::Rewrite(tvm::runtime::Array<tvm::relay::DFPatternCallback, void> const&, tvm::RelayExpr const&)
3: tvm::relay::MixedModeMutator::VisitExpr(tvm::RelayExpr const&)
2: tvm::relay::MixedModeMutator::VisitLeaf(tvm::RelayExpr const&)
1: tvm::relay::PatternRewriter::DispatchVisitExpr(tvm::RelayExpr const&)
0: tvm::runtime::PackedFuncObj::Extractor<tvm::runtime::PackedFuncSubObj<TVMFuncCreateFromCFunc::{lambda(tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*)#2}> >::Call(tvm::runtime::PackedFuncObj const*, tvm::runtime::TVMArgs, tvm::runtime::TVMRetValue*) [clone .cold]
File "/root/.cache/axelera/venvs/6d332c79/lib/python3.10/site-packages/tvm/_ffi/_ctypes/packed_func.py", line 82, in cfun
rv = local_pyfunc(*pyargs)
File "<frozen compiler.frontend.passes.pass_rewrite_dense_to_conv2d>", line 73, in callback
TVMError: AssertionError
14:35:33 [INFO] Dumped input IRModule string representations for debugging to: /repo/build/compiled_model/debug
Both invocations are with a default config.
Is there any additional information you need to be able to look into this regression?
---
edit: formatting looked weird, tried to change to code blocks instead

