apache / tvm

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

Pass default values to target config/options #17004

Closed MNGanesan closed 4 months ago

MNGanesan commented 4 months ago

BYOC Compiler Config node defines the target compiler's command line options, along with default values. This change extract the default values while constructing target options for codegen/target compiler. Added test case for this feature as well.

MNGanesan commented 4 months ago

For my PR, cortexm/pr-head test is failing, on investigation I find

boolean type argument of CMSIS-NN is not passed with numeric value and got below error

[2024-05-16T14:29:37.357Z] tvmc compile: error: argument --target-cmsis-nn-debug_last_error: invalid int value: 'False'

Argument passed:

"--target-cmsis-nn-debug_last_error=false"

Based on the python argument parse, above error looks to be valid, however it is not observed other PR. I could not decipher the link between this error and my PR.

Am able to reproduce this error, if I pass value "false/true" to a boolean, but not for the numeric value "0/1". As per TVM type, boolean is treated as "int" type , Hence passing the value "false/true" is incorrect and python parser handle it correctly.

Could some one put a light on it ? How it is passing in test of other PRs when python argument parser looks to be valid ?

Appreciate your insights!