Hello
I am try building Numpy 1.26.3 with AMD-AOCL binaries
My Build enviroment:
OS: Debian 12 (wsl2)
AMD-AOCL version: 4.1 (GCC compiled Debian package from https://www.amd.com/en/developer/aocl.html)
Python version: 3.12.1 (packaged by conda-forge)
GCC version: 13.2.0 (packaged by conda-forge)
GXX version: 13.2.0 (packaged by conda-forge)
Meson version: 1.3.1 (packaged by conda-forge)
gfortran version: 13.2.0 (packaged by conda-forge)
cmake version: 3.28.2 (packaged by conda-forge)
pkgconfig version: 1.5.5 (packaged by conda-forge)
I amd using next .pc configs for linking AOCL libs:
flame.pc (~/miniforge3/envs/dev-blis2/share/pkgconfig/flame.pc)
libdir=/opt/AMD/aocl/aocl-linux-gcc-4.1.0/gcc/lib_ILP64
includedir=/opt/AMD/aocl/aocl-linux-gcc-4.1.0/gcc/include_ILP64
version=4.1
extralib=-lm -lstdc++
Name: flame
Description: AOCL is a set of numerical libraries optimized for AMD processors based on the AMD Zen core architecture and generations
Version: ${version}
Libs: -L${libdir} -lflame
Libs.private: ${extralib}
Cflags: -I${includedir}
blis.pc (~/miniforge3/envs/dev-blis2/share/pkgconfig/blis.pc)
libdir=/opt/AMD/aocl/aocl-linux-gcc-4.1.0/gcc/lib_ILP64
includedir=/opt/AMD/aocl/aocl-linux-gcc-4.1.0/gcc/include_ILP64
version=4.1
extralib=-lm -fopenmp
Name: blis
Description: AOCL is a set of numerical libraries optimized for AMD processors based on the AMD Zen core architecture and generations
Version: ${version}
Libs: -L${libdir} -lblis-mt
Libs.private: ${extralib}
Cflags: -I${includedir}
I am using next command for compiling Numpy:
pip install numpy --no-binary :all: -Csetup-args=-Dallow-noblas=false -Csetup-args=-Dlapack=flame -Csetup-args=-Dblas=blis -Csetup-args=-Duse-ilp64=true --no-cache-dir --force-reinstall
It's works fine, but after run numpy's tests one (from ~40000) gives incorrect result (computed rank is incorrect).
there is code for run tests:
import numpy
numpy.test('full')
https://imgur.com/a/8kGCRrr
Standard numpy with blis/lapack libs from conda-forge passed all tests successfully, so i am thinking, amd-aocl has some bug
Is it really bug, or am i messed up with something ?