Skip to content

Cortex-A72 target produces wrong BLAS Level-3 results #5997

Description

@kmehltretter82

OpenBLAS commit 632ef87 (0.3.34.dev)
produces incorrect double-precision results on a real Raspberry Pi 400 when
built for TARGET=CORTEXA72.

Hardware: Raspberry Pi 400, Cortex-A72 r0p3, 4 CPUs
OS: Debian arm64, Linux 6.18.39+rpt-rpi-v8
Compiler: GCC 14.2.0-19

Build settings:

TARGET=CORTEXA72 DYNAMIC_ARCH=0 NO_SHARED=1 NO_LAPACK=1 ONLY_CBLAS=1
BUILD_DOUBLE=1, with OPENBLAS_NUM_THREADS=1

The Level-3 checks fail consistently:

DSYMM max_abs_error=57.47919143876338
DTRMM max_abs_error=1.9381688466111771
DSYRK max_abs_error=39.17479191438764
DSYR2K max_abs_error=75.115338882283027
failures=4

The generic ARMV8 and Cortex-A57 targets pass. The previous Cortex-A72
version also passed.

The first bad commit is:
560caa5
Add Cortex-A72 DGEMM 6x8 microkernel with MR=6 packers and TRSM

Its parent is good:
05518e0
Merge pull request #5969 from martin-frbg/lapack134

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