[20.10 FEAT] Algebra lib optimizations - OpenBlas (0.3.10)

Bug #1884519 reported by bugproxy
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu on IBM z Systems
Fix Released
High
Skipper Bug Screeners
openblas (Ubuntu)
Fix Released
Undecided
Canonical Foundations Team

Bug Description

The OpenBlas library is the backend for many machine learning algorithms using the Numpy Python framework.

The library has been enhanced to support z13 and partially z14.

Upgrade to newest version 0.3.10

bugproxy (bugproxy)
tags: added: architecture-s39064 bugnameltc-185020 severity-high targetmilestone-inin2010
Changed in ubuntu:
assignee: nobody → Skipper Bug Screeners (skipper-screen-team)
affects: ubuntu → openblas (Ubuntu)
Changed in ubuntu-z-systems:
assignee: nobody → Canonical Foundations Team (canonical-foundations)
importance: Undecided → High
Frank Heimes (fheimes)
Changed in openblas (Ubuntu):
assignee: Skipper Bug Screeners (skipper-screen-team) → Canonical Foundations Team (canonical-foundations)
Changed in ubuntu-z-systems:
assignee: Canonical Foundations Team (canonical-foundations) → Skipper Bug Screeners (skipper-screen-team)
tags: added: id-5ef0d3076b77e88036c694f2
Revision history for this message
Frank Heimes (fheimes) wrote :

v0.3.10 is released: https://www.openblas.net/

Changed in ubuntu-z-systems:
status: New → Triaged
Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2020-07-27 05:16 EDT-------
OpenBLAS release 0.3.10 has two bugs in the build system and the test suite that may cause build failures on s390x and other architectures. For both issues we have fixes merged upstream. These patches apply cleanly on top of 0.3.10 and we recommend including them (they can be dropped when adopting releases >0.3.10, since they will be included in those upcoming releases).

Bugs:
- A subset of the test suite fails on systems with 4 or fewer CPUs because of an incorrect calculation of the number of threads to use for testing (common code, affects all architecture)
- Builds with gcc10 and dynamic architecture support fail with link failures because of incorrect comparison of the compiler version (only affects s390x, no issue for gcc 9 and earlier)

Issue tracked on github:
https://github.com/xianyi/OpenBLAS/issues/2668

Fixes:
Pull request https://github.com/xianyi/OpenBLAS/pull/2669
with commit a2d13ea61183 ("Fix gcc version detection for zarch")

and pull request https://github.com/xianyi/OpenBLAS/pull/2672
with commits 478898b37a91 ("cpp_thread_test/dgemv: cap concurrency to number of hw threads on small systems")
and de838c38ef9d ("cpp_thread_test/dgemv: fail early if concurrency is zero")

Changed in openblas (Ubuntu):
status: New → Fix Released
Changed in ubuntu-z-systems:
status: Triaged → Fix Released
Changed in openblas (Ubuntu):
status: Fix Released → Confirmed
Changed in ubuntu-z-systems:
status: Fix Released → Confirmed
Revision history for this message
Steve Langasek (vorlon) wrote :

openblas 0.3.10 is now in groovy.

Changed in openblas (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2020-08-18 04:06 EDT-------
IBM Bugzilla status-> closed, Fix Released with groovy

Frank Heimes (fheimes)
Changed in ubuntu-z-systems:
status: Confirmed → Fix Released
Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2020-08-31 08:23 EDT-------
Please enable "DYNAMIC_ARCH=1" for s390x to enable choosing the best performing implementation at run-time (i.e., s390x should be added to ENABLE_DYNAMIC_ARCHS). Current builds of openblas version 0.3.10+ds-3 for groovy instead rely on generic floating-point instructions (TARGET=ZARCH_GENERIC) and thus do not use the significant performance potential of the SIMD instructions that were introduced with z13 and extended with z14 (cf. https://launchpadlibrarian.net/491360113/buildlog_ubuntu-groovy-s390x.openblas_0.3.10+ds-3_BUILDING.txt.gz)

While the mechanism for selecting the best implementation at run-time had some deficits on s390x in the past, we have revised it in OpenBLAS 0.3.10 and consider it the best choice for portable binaries.

Please note that there is a small bug in the s390-specific part of the Makefile triggered with gcc-10 and DYNAMIC_ARCH=1, which has been fixed upstream in June. The fix cleanly applies on top of 0.3.10 -- https://github.com/xianyi/OpenBLAS/pull/2669

Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2020-08-31 09:41 EDT-------
IBM Bugzilla status-> closed, Fix Released with groovy

Frank Heimes (fheimes)
information type: Private → Public
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.