apache / tvm

Open deep learning compiler stack for cpu, gpu and specialized accelerators
https://tvm.apache.org/
Apache License 2.0
11.82k stars 3.48k forks source link

[Bug] Build with USE_MRVL=ON and --target="llvm" fails to compile #17454

Open MNGanesan opened 1 month ago

MNGanesan commented 1 month ago

TVM is built with USE_MRVL=ON and TVM Compiler is invoked with a default (LLVM) target alone. Command line processor emits the below error

"Error: Passed --target-mrvl-accelerator_config but did not specify mrvl target"

Expected behavior

Compilation should go through without error.

Actual behavior

Error: Passed --target-mrvl-accelerator_config but did not specify mrvl target

Environment

Linux dc5lp-mlsw07 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Steps to reproduce

$python3 -m tvm.driver.tvmc compile --target="llvm" cnn.onnx

Triage

Essentially, Fix given to defect #13264, needs to take care of default target alone, (i.e No hybrid Target)

Here the use case is to go by a default path (LLVM) though TVM is built with MRVL=ON. With Fix to #13264, for those codegen which has pass_default=True, all default command line values are passed as codegen options. Command Line processing while validate_target_args, checks if there are add-on options it expects the particular target to be given explicitly. Here it is a unique use-case to check the default path though it is built with MRVL-ON. validate_target_args need to ignore the codegen's configuration only when the target is default(LLVM) alone.