OpenBLAS: Incorrect answer in nrm2 computation on Neoverse-n1
Neoverse N1 (AWS Graviton2):
julia> using LinearAlgebra
julia> a = zeros(Float64, 100)
julia> a[1] = -Inf
julia> BLAS.nrm2(a)
NaN
julia> BLAS.openblas_get_config()
"OpenBLAS 0.3.12 DYNAMIC_ARCH NO_AFFINITY neoversen1 MAX_THREADS=32"
Works ok with the generic armv8 kernels (and on other architectures)
OPENBLAS_CORETYPE=armv8 ./julia
julia> using LinearAlgebra
julia> a = zeros(Float64, 100)
julia> a[1] = -Inf
julia> BLAS.nrm2(a)
Inf
julia> BLAS.openblas_get_config()
"OpenBLAS 0.3.12 DYNAMIC_ARCH NO_AFFINITY armv8 MAX_THREADS=32"
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 18 (14 by maintainers)
Commits related to this issue
- [OpenBLAS] Disable specialized Neoverse-N1 kernels for nrm2 See https://github.com/xianyi/OpenBLAS/issues/2998 — committed to JuliaPackaging/Yggdrasil by Keno 4 years ago
- [OpenBLAS] Disable specialized Neoverse-N1 kernels for nrm2 See https://github.com/xianyi/OpenBLAS/issues/2998 — committed to JuliaPackaging/Yggdrasil by Keno 4 years ago
- [OpenBLAS] Disable specialized Neoverse-N1 kernels for nrm2 (#2145) See https://github.com/xianyi/OpenBLAS/issues/2998 — committed to JuliaPackaging/Yggdrasil by Keno 4 years ago
- [OpenBLAS_jll] Update to new build with BFloat16 kernels (#53059) This also * drops a patch (`deps/patches/neoverse-generic-kernels.patch`) not needed anymore for an [old bug](https://github.com... — committed to JuliaLang/julia by giordano 5 months ago
Bit late to the party, but I can confirm the bug reported above appears to be fixed in latest
developbranch.