Skip to content

llvm15 generates 1.27x longer code for znver3 than icelake-server #1247

@sklam

Description

@sklam

As of 0cc7741

Observation

Numba CI is seeing massive difference (>2x) in memory use due to different CPU allocated by AzureCI. znver3 is using a lot more memory than icelake-server causing jobs to fail because Numba test suite is using up all memory (despite znver3 workers have 1GB extra memory).

https://gist.github.com/sklam/03ba3ae6826f265235f1b5d7cd825d37 contains a reproducer that uses numba to compile np.in1d into LLVM IR. Run it with NUMBA_OPT=0, then use the shell script to compile for the specific cpus. It is observed that the znver3 assembly is 1.27x longer (in lines) than the icelake-server version.

Likely Explanation

llvm/llvm-project#50802 reports a aggressive unrolling issue with znver3 in llvm that is only fixed in llvm19.1.0rc1 by llvm/llvm-project#91340

Metadata

Metadata

Assignees

No one assigned

    Labels

    needtriageNeeds to be triaged further

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions