Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
MNGanesan opened this issue Oct 9, 2024 · 0 comments
Open

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

MNGanesan opened this issue Oct 9, 2024 · 0 comments
Labels
needs-triage PRs or issues that need to be investigated by maintainers to find the right assignees to address it type: bug

Comments

@MNGanesan
Copy link
Contributor

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.

@MNGanesan MNGanesan added needs-triage PRs or issues that need to be investigated by maintainers to find the right assignees to address it type: bug labels Oct 9, 2024
MNGanesan pushed a commit to MNGanesan/tvm that referenced this issue Oct 9, 2024
… BYOC(apache#17454)

It is a unique use-case to check the default target(LLVM), though TVM is built with BYOC(MRVL-ON)
The config of Codegen(BYOC) contains default values for configuration/options, it is extracted
during _generate_codegen_args. In command line processing, validate_target_args checks if there
are add-on options and it expects that particular target to be given explicitly in command line.
Here, it is test for default (LLVM) path only, hence validate_target_args need to ignore the codegen's
configuration for default target.

Signed-off-by: M N Ganesan <[email protected]>
MNGanesan pushed a commit to MNGanesan/tvm that referenced this issue Oct 9, 2024
… BYOC(apache#17454)

It is a unique use-case to check the default target(LLVM), though TVM is built with BYOC(MRVL-ON)
The config of Codegen(BYOC) contains default values for configuration/options, it is extracted
during _generate_codegen_args. In command line processing, validate_target_args checks if there
are add-on options and it expects that particular target to be given explicitly in command line.
Here, it is test for default (LLVM) path only, hence validate_target_args need to ignore the codegen's
configuration for default target.

Signed-off-by: M N Ganesan <[email protected]>
MNGanesan pushed a commit to MNGanesan/tvm that referenced this issue Oct 9, 2024
… BYOC(apache#17454)

It is a unique use-case to check the default target(LLVM), though TVM is built with BYOC(MRVL-ON)
The config of Codegen(BYOC) contains default values for configuration/optons, it is extracted
during _generate_codegen_args. In command line processing, validate_target_args checks if there are add-on options and it expects that particular target to be given explicitly in command line.  Here, it is test for default (LLVM) path only, hence validate_target_args need to ignore the codegen's configuration
MNGanesan pushed a commit to MNGanesan/tvm that referenced this issue Oct 9, 2024
… BYOC(apache#17454)

It is a unique use-case to check the default target(LLVM), though TVM is built with BYOC(MRVL-ON)
The config of Codegen(BYOC) contains default values for configuration/optons, it is extracted
during _generate_codegen_args. In command line processing, validate_target_args checks if there are add-on options and it expects that particular target to be given explicitly in command line.  Here, it is test for default (LLVM) path only, hence validate_target_args need to ignore the codegen's configuration
MNGanesan pushed a commit to MNGanesan/tvm that referenced this issue Oct 10, 2024
…h BYOC(apache#17454)

It is a unique use-case to check the default target(LLVM), though TVM is built with BYOC(MRVL-ON)
The config of Codegen(BYOC) contains default values for configuration/optons, it is extracted
during _generate_codegen_args. In command line processing, validate_target_args checks if there are
add-on options and it expects that particular target to be given explicitly in command line.
Here, it is test for default (LLVM) path only, hence validate_target_args need to ignore the
codegen's configuration

Signed-off-by: M N Ganesan <[email protected]>
MNGanesan pushed a commit to MNGanesan/tvm that referenced this issue Oct 11, 2024
…h BYOC(apache#17454)

    It is a unique use-case to check the default target(LLVM), though TVM is built with BYOC(MRVL-ON)
    The config of Codegen(BYOC) contains default values for configuration/optons, it is extracted
    during _generate_codegen_args. In command line processing, validate_target_args checks if there are
    add-on options and it expects that particular target to be given explicitly in command line.
    Here, it is test for default (LLVM) path only, hence validate_target_args need to ignore the
    codegen's configuration

Signed-off-by: M N Ganesan <[email protected]>
MNGanesan pushed a commit to MNGanesan/tvm that referenced this issue Oct 11, 2024
…h BYOC(apache#17454)

        It is a unique use-case to check the default target(LLVM), though TVM is built with BYOC(MRVL-ON)
        The config of Codegen(BYOC) contains default values for configuration/optons, it is extracted
        during _generate_codegen_args. In command line processing, validate_target_args checks if there are
        add-on options and it expects that particular target to be given explicitly in command line.
        Here, it is test for default (LLVM) path only, hence validate_target_args need to ignore the
        codegen's configuration

Signed-off-by: M N Ganesan <[email protected]>
MNGanesan pushed a commit to MNGanesan/tvm that referenced this issue Oct 24, 2024
…_MRVL=ON(apache#17454)

This is a use-case of invoking TVMC with default target though it is built with MRVL_ON.
In command line processing, validate_target_args checks if there are add-on options
derived from the default arguments of codegen/BYOC and it expects that particular codegen
to be given explicitly in command line. However, certain codegen's can have default target alone,
in that case codegen optios are not extracted there by relaxing the validation

Signed-off-by: M N Ganesan <[email protected]>
MNGanesan pushed a commit to MNGanesan/tvm that referenced this issue Oct 24, 2024
…_MRVL=ON(apache#17454)

This is a use-case of invoking TVMC with default target though it is built with MRVL_ON.
In command line processing, validate_target_args checks if there are add-on options
derived from the default arguments of codegen/BYOC and it expects that particular codegen
to be given explicitly in command line. However, certain codegen's can have default target alone,
in that case codegen optios are not extracted there by relaxing the validation

Signed-off-by: M N Ganesan <[email protected]>
MNGanesan pushed a commit to MNGanesan/tvm that referenced this issue Oct 24, 2024
…E_MRVL=ON(apache#17454)

    This is a use-case of invoking TVMC with default target though it is built with MRVL_ON.
    In command line processing, validate_target_args checks if there are add-on options
    derived from the default arguments of codegen/BYOC and it expects that particular codegen
    to be given explicitly in command line. However, certain codegen's can have default target alone,
    in that case codegen optios are not extracted there by relaxing the validation

Signed-off-by: M N Ganesan <[email protected]>
leandron pushed a commit that referenced this issue Oct 25, 2024
* [Frontend][ArgParse] Compile with default(LLVM) target and build with BYOC(#17454)

It is a unique use-case to check the default target(LLVM), though TVM is built with BYOC(MRVL-ON)
The config of Codegen(BYOC) contains default values for configuration/options, it is extracted
during _generate_codegen_args. In command line processing, validate_target_args checks if there
are add-on options and it expects that particular target to be given explicitly in command line.
Here, it is test for default (LLVM) path only, hence validate_target_args need to ignore the codegen's
configuration for default target.

Signed-off-by: M N Ganesan <[email protected]>

* [Frontend][ArgParse] Compile with default(LLVM) target and build with BYOC(#17454)

It is a unique use-case to check the default target(LLVM), though TVM is built with BYOC(MRVL-ON)
The config of Codegen(BYOC) contains default values for configuration/options, it is extracted
during _generate_codegen_args. In command line processing, validate_target_args checks if there
are add-on options and it expects that particular target to be given explicitly in command line.
Here, it is test for default (LLVM) path only, hence validate_target_args need to ignore the codegen's
configuration for default target.

Signed-off-by: M N Ganesan <[email protected]>

* [Frontend][ArgParse] Compile with default(LLVM) target and build with BYOC(#17454)

It is a unique use-case to check the default target(LLVM), though TVM is built with BYOC(MRVL-ON)
The config of Codegen(BYOC) contains default values for configuration/optons, it is extracted
during _generate_codegen_args. In command line processing, validate_target_args checks if there are
add-on options and it expects that particular target to be given explicitly in command line.
Here, it is test for default (LLVM) path only, hence validate_target_args need to ignore the
codegen's configuration

Signed-off-by: M N Ganesan <[email protected]>

* [Frontend][ArgParse] Compile with default(LLVM) target and build with BYOC(#17454)

    It is a unique use-case to check the default target(LLVM), though TVM is built with BYOC(MRVL-ON)
    The config of Codegen(BYOC) contains default values for configuration/optons, it is extracted
    during _generate_codegen_args. In command line processing, validate_target_args checks if there are
    add-on options and it expects that particular target to be given explicitly in command line.
    Here, it is test for default (LLVM) path only, hence validate_target_args need to ignore the
    codegen's configuration

Signed-off-by: M N Ganesan <[email protected]>

* [Frontend][ArgParse] Compile with default(LLVM) target and build with BYOC(#17454)

        It is a unique use-case to check the default target(LLVM), though TVM is built with BYOC(MRVL-ON)
        The config of Codegen(BYOC) contains default values for configuration/optons, it is extracted
        during _generate_codegen_args. In command line processing, validate_target_args checks if there are
        add-on options and it expects that particular target to be given explicitly in command line.
        Here, it is test for default (LLVM) path only, hence validate_target_args need to ignore the
        codegen's configuration

Signed-off-by: M N Ganesan <[email protected]>

* [Frontend][ArgParse] Compile with default target(LLVM) when built USE_MRVL=ON(#17454)

This is a use-case of invoking TVMC with default target though it is built with MRVL_ON.
In command line processing, validate_target_args checks if there are add-on options
derived from the default arguments of codegen/BYOC and it expects that particular codegen
to be given explicitly in command line. However, certain codegen's can have default target alone,
in that case codegen optios are not extracted there by relaxing the validation

Signed-off-by: M N Ganesan <[email protected]>

* [Frontend][ArgParse] Compile with default target(LLVM) when built USE_MRVL=ON(#17454)

This is a use-case of invoking TVMC with default target though it is built with MRVL_ON.
In command line processing, validate_target_args checks if there are add-on options
derived from the default arguments of codegen/BYOC and it expects that particular codegen
to be given explicitly in command line. However, certain codegen's can have default target alone,
in that case codegen optios are not extracted there by relaxing the validation

Signed-off-by: M N Ganesan <[email protected]>

* [Frontend][ArgParse] Compile with default target(LLVM) when built USE_MRVL=ON(#17454)

    This is a use-case of invoking TVMC with default target though it is built with MRVL_ON.
    In command line processing, validate_target_args checks if there are add-on options
    derived from the default arguments of codegen/BYOC and it expects that particular codegen
    to be given explicitly in command line. However, certain codegen's can have default target alone,
    in that case codegen optios are not extracted there by relaxing the validation

Signed-off-by: M N Ganesan <[email protected]>

---------

Signed-off-by: M N Ganesan <[email protected]>
Co-authored-by: M N Ganesan <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-triage PRs or issues that need to be investigated by maintainers to find the right assignees to address it type: bug
Projects
None yet
Development

No branches or pull requests

1 participant