Skip to content

[Feature]: When HSA refuses to run a code object newer than it expected, say that, not "invalid" #321

@JonChesterfield

Description

@JonChesterfield

Suggestion Description

If you build a default code object with clang trunk, it'll be code object version 6. If you try to run that on a ROCm before 6.3, e.g. on the one from your Linux distro, the error message you get is HSA_STATUS_ERROR_INVALID_CODE_OBJECT. That is extremely misleading for "the code object is fine and has a larger version number in it than HSA expected".

Instead of this, please return a new error code, indicating that HSA has been presented with a code object from the future. ERROR_CODE_OBJECT_VERSION_6_EXPECTED_BETWEEN_2_AND_5 or similar. Something much more explicit that tells the user where things have gone wrong, as opposed to INVALID_CODE_OBJECT which sent me down a wild goose chase.

Side note, it is not helpful that the version number in the elf header is different from the code object version number.

Operating System

No response

GPU

No response

ROCm Component

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions