Note: autopkgtest failures were tempfails and are now passing
SRU verification (noble)
========================
For testing, I am using the agent "lubba" in testflinger as this machine
matches the affected architecture.
# Check installed openblas
ubuntu@lubba:~/numpy$ dpkg -l | grep libopenblas
ii libopenblas-dev:arm64 0.3.26+ds-1
arm64 Optimized BLAS (linear algebra) library (dev, meta)
ii libopenblas-pthread-dev:arm64 0.3.26+ds-1
arm64 Optimized BLAS (linear algebra) library (dev, pthread)
ii libopenblas0:arm64 0.3.26+ds-1
arm64 Optimized BLAS (linear algebra) library (meta)
ii libopenblas0-pthread:arm64 0.3.26+ds-1
arm64 Optimized BLAS (linear algebra) library (shared lib, pthread)
# Check distro
ubuntu@lubba:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04.3 LTS
Release: 24.04
Codename: noble
# Check cpu info
ubuntu@lubba:~$ lscpu
Architecture: aarch64
CPU op-mode(s): 64-bit
Byte Order: Little Endian
CPU(s): 72
On-line CPU(s) list: 0-71
Vendor ID: ARM
Model name: Neoverse-V2
# Install tools for Python virtual environments, and create one
ubuntu@lubba:~$ sudo apt install python3.12-venv -y
ubuntu@lubba:~$ python3 -m venv venv
ubuntu@lubba:~$ source venv/bin/activate
(venv) ubuntu@lubba:~$ python3
Python 3.12.3 (main, Nov 6 2025, 13:44:16) [GCC 13.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> print(np.__version__)
1.26.4
>>> print(np.show_config())
...
"blas": {
"name": "openblas",
"found": true,
"version": "0.3.26", # Linked against the system's 0.3.26
"detection method": "pkgconfig",
"include directory": "/usr/include/aarch64-linux-gnu/openblas-pthread/",
"lib directory": "/usr/lib/aarch64-linux-gnu/openblas-pthread/",
"openblas configuration": "USE_64BITINT=0 DYNAMIC_ARCH=1 DYNAMIC_OLDER=1
NO_CBLAS= NO_LAPACK= NO_LAPACKE=1 NO_AFFINITY=1 USE_OPENMP=0 generic
MAX_THREADS=64",
"pc file directory": "/usr/lib/aarch64-linux-gnu/pkgconfig"
},
...
>>> a = np.array([2 +3j, 3], dtype=np.complex64)
>>> b = np.array([5, 6], dtype=np.complex64)
>>> result = np.dot(a, b)
>>> print(f"np.dot(a, b) = {result}")
np.dot(a, b) = (73+15j)
Which is an incorrect calculation
# Upgrade to proposed
ubuntu@lubba:~/numpy$ dpkg -l | grep openblas
ii libopenblas-dev:arm64 0.3.26+ds-1ubuntu0.1
arm64 Optimized BLAS (linear algebra) library (dev, meta)
ii libopenblas-pthread-dev:arm64 0.3.26+ds-1ubuntu0.1
arm64 Optimized BLAS (linear algebra) library (dev, pthread)
ii libopenblas0:arm64 0.3.26+ds-1ubuntu0.1
arm64 Optimized BLAS (linear algebra) library (meta)
ii libopenblas0-pthread:arm64 0.3.26+ds-1ubuntu0.1
arm64 Optimized BLAS (linear algebra) library (shared lib, pthread)
(venv) ubuntu@lubba:~$ python3
>>> a = np.array([2 +3j, 3], dtype=np.complex64)
>>> b = np.array([5, 6], dtype=np.complex64)
>>> result = np.dot(a, b)
>>> print(f"np.dot(a, b) = {result}")
np.dot(a, b) = (28+15j)
Which is the correct / expected result
Verification passed
** Tags removed: verification-needed verification-needed-noble
** Tags added: verification-done verification-done-noble
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2131041
Title:
[SRU] Incorrect Computation Result on Noble When Multiplying Complex-
Valued NumPy Matrices (via OpenBLAS) on GH200 and GB200 machines
(Neoverse V2 CPU)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openblas/+bug/2131041/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs