Fix BZ#1982856.

This commit is contained in:
Susi Lehtola 2022-01-03 21:25:45 +00:00
parent 4720c14646
commit 95a8f0fa3e
2 changed files with 306 additions and 1 deletions

299
3498.patch Normal file
View File

@ -0,0 +1,299 @@
From b54b3bbdcc043dc839fcb5262c5239bb1548e02b Mon Sep 17 00:00:00 2001
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Fri, 24 Dec 2021 22:53:39 +0100
Subject: [PATCH 01/10] Update param.h
---
param.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/param.h b/param.h
index 2dffaae3c..3d592c056 100644
--- a/param.h
+++ b/param.h
@@ -1670,7 +1670,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define SGEMM_DEFAULT_UNROLL_M 16
#ifndef DYNAMIC_ARCH
-#define DGEMM_DEFAULT_UNROLL_M 16
+#define DGEMM_DEFAULT_UNROLL_M 4
#else
#define DGEMM_DEFAULT_UNROLL_M 4
#endif
@@ -1681,7 +1681,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define SGEMM_DEFAULT_UNROLL_N 4
#ifndef DYNAMIC_ARCH
-#define DGEMM_DEFAULT_UNROLL_N 2
+#define DGEMM_DEFAULT_UNROLL_N 8
#else
#define DGEMM_DEFAULT_UNROLL_N 8
#endif
From e62e797d3adb796275114bd894262978f30d03dc Mon Sep 17 00:00:00 2001
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Fri, 24 Dec 2021 22:54:40 +0100
Subject: [PATCH 02/10] Update KERNEL.SKYLAKEX
---
kernel/x86_64/KERNEL.SKYLAKEX | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/x86_64/KERNEL.SKYLAKEX b/kernel/x86_64/KERNEL.SKYLAKEX
index d2d7de42a..c5a2fcecb 100644
--- a/kernel/x86_64/KERNEL.SKYLAKEX
+++ b/kernel/x86_64/KERNEL.SKYLAKEX
@@ -20,7 +20,7 @@ SGEMM_SMALL_K_B0_TN = sgemm_small_kernel_tn_skylakex.c
SGEMM_SMALL_K_TT = sgemm_small_kernel_tt_skylakex.c
SGEMM_SMALL_K_B0_TT = sgemm_small_kernel_tt_skylakex.c
-ifndef DYNAMIC_ARCH
+ifdef DYNAMIC_ARCHO
DGEMMKERNEL = dgemm_kernel_16x2_skylakex.c
DTRMMKERNEL = dgemm_kernel_16x2_skylakex.c
DGEMMINCOPY = ../generic/gemm_ncopy_16.c
From 892ed1e53b17bdc4e367ae0697ae9a995641dbf6 Mon Sep 17 00:00:00 2001
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Sat, 25 Dec 2021 13:26:35 +0100
Subject: [PATCH 03/10] Update param.h
---
param.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/param.h b/param.h
index 3d592c056..03ab214e2 100644
--- a/param.h
+++ b/param.h
@@ -1670,9 +1670,9 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define SGEMM_DEFAULT_UNROLL_M 16
#ifndef DYNAMIC_ARCH
-#define DGEMM_DEFAULT_UNROLL_M 4
+#define DGEMM_DEFAULT_UNROLL_M 16
#else
-#define DGEMM_DEFAULT_UNROLL_M 4
+#define DGEMM_DEFAULT_UNROLL_M 16
#endif
#define QGEMM_DEFAULT_UNROLL_M 2
#define CGEMM_DEFAULT_UNROLL_M 8
@@ -1681,9 +1681,9 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define SGEMM_DEFAULT_UNROLL_N 4
#ifndef DYNAMIC_ARCH
-#define DGEMM_DEFAULT_UNROLL_N 8
+#define DGEMM_DEFAULT_UNROLL_N 2
#else
-#define DGEMM_DEFAULT_UNROLL_N 8
+#define DGEMM_DEFAULT_UNROLL_N 2
#endif
#define QGEMM_DEFAULT_UNROLL_N 2
#define CGEMM_DEFAULT_UNROLL_N 2
From d97a3e5a5f5b28cb5f3b8f5ce3fef05b0a81b715 Mon Sep 17 00:00:00 2001
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Sat, 25 Dec 2021 13:27:49 +0100
Subject: [PATCH 04/10] Update KERNEL.SKYLAKEX
---
kernel/x86_64/KERNEL.SKYLAKEX | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/kernel/x86_64/KERNEL.SKYLAKEX b/kernel/x86_64/KERNEL.SKYLAKEX
index c5a2fcecb..ba093d24b 100644
--- a/kernel/x86_64/KERNEL.SKYLAKEX
+++ b/kernel/x86_64/KERNEL.SKYLAKEX
@@ -20,19 +20,15 @@ SGEMM_SMALL_K_B0_TN = sgemm_small_kernel_tn_skylakex.c
SGEMM_SMALL_K_TT = sgemm_small_kernel_tt_skylakex.c
SGEMM_SMALL_K_B0_TT = sgemm_small_kernel_tt_skylakex.c
-ifdef DYNAMIC_ARCHO
+
DGEMMKERNEL = dgemm_kernel_16x2_skylakex.c
DTRMMKERNEL = dgemm_kernel_16x2_skylakex.c
DGEMMINCOPY = ../generic/gemm_ncopy_16.c
-DGEMMITCOPY = dgemm_tcopy_16_skylakex.c
+DGEMMITCOPY = ../generic/gemm_tcopy_16.c
DGEMMONCOPY = ../generic/gemm_ncopy_2.c
DGEMMOTCOPY = ../generic/gemm_tcopy_2.c
DTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
-else
-DGEMMKERNEL = dgemm_kernel_4x8_skylakex_2.c
-DGEMMONCOPY = dgemm_ncopy_8_skylakex.c
-DGEMMOTCOPY = dgemm_tcopy_8_skylakex.c
-endif
+
DGEMM_SMALL_M_PERMIT = dgemm_small_kernel_permit_skylakex.c
DGEMM_SMALL_K_NN = dgemm_small_kernel_nn_skylakex.c
DGEMM_SMALL_K_B0_NN = dgemm_small_kernel_nn_skylakex.c
From fa2c9de62161178566499db9d78cdbd146ce3058 Mon Sep 17 00:00:00 2001
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Fri, 31 Dec 2021 18:37:50 +0100
Subject: [PATCH 05/10] Update azure-pipelines.yml
---
azure-pipelines.yml | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 710940924..a6e2e71b5 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -58,6 +58,15 @@ jobs:
docker run --privileged intel_sde
displayName: 'Run AVX512 SkylakeX docker build / test'
+- job: Intel_skx
+ pool:
+ vmImage: 'ubuntu-latest'
+ variables:
+ OPENBLAS_VERBOSE: 2
+ steps:
+ - script: |
+ make CC=gcc FC=gfortran QUIET_MAKE=1 DYNAMIC_ARCH=1 NUM_THREADS=32 BINARY=64
+
- job: Windows_cl
pool:
vmImage: 'windows-latest'
From 4f7e6f01ddda2b3375d655471304a81de7972070 Mon Sep 17 00:00:00 2001
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Sat, 1 Jan 2022 20:14:27 +0100
Subject: [PATCH 06/10] Add SDE job that builds on Sandybridge, tests on
SkylakeX
---
azure-pipelines.yml | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index a6e2e71b5..d5cb765db 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -58,6 +58,31 @@ jobs:
docker run --privileged intel_sde
displayName: 'Run AVX512 SkylakeX docker build / test'
+- job: Intel_SDE_sndskx
+ pool:
+ vmImage: 'ubuntu-latest'
+ steps:
+ - script: |
+ # at the time of writing the available Azure Ubuntu vm image
+ # does not support AVX512VL, so use more recent LTS version
+ echo "FROM ubuntu:bionic
+ COPY . /tmp/openblas
+ RUN apt-get -y update && apt-get -y install \\
+ cmake \\
+ gfortran \\
+ make \\
+ wget
+ RUN mkdir /tmp/SDE && cd /tmp/SDE && \\
+ mkdir sde-external-8.35.0-2019-03-11-lin && \\
+ wget --quiet -O sde-external-8.35.0-2019-03-11-lin.tar.bz2 https://www.dropbox.com/s/fopsnzj67572sj5/sde-external-8.35.0-2019-03-11-lin.tar.bz2?dl=0 && \\
+ tar -xjvf sde-external-8.35.0-2019-03-11-lin.tar.bz2 -C /tmp/SDE/sde-external-8.35.0-2019-03-11-lin --strip-components=1
+ RUN cd /tmp/openblas && echo 0 > /proc/sys/kernel/yama/ptrace_scope && CC=gcc /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/sde64 -cpuid_in /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/misc/cpuid/snb/cpuid.def -- make QUIET_MAKE=1 DYNAMIC_ARCH=1 NUM_THREADS=32 BINARY=64
+ CMD cd /tmp/openblas && echo 0 > /proc/sys/kernel/yama/ptrace_scope && CC=gcc OPENBLAS_VERBOSE=2 /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/sde64 -cpuid_in /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/misc/cpuid/skx/cpuid.def -- make -C utest DYNAMIC_ARCH=1 NUM_THREADS=32 BINARY=64" > Dockerfile
+ docker build -t intel_sde .
+ # we need a privileged docker run for sde process attachment
+ docker run --privileged intel_sde
+ displayName: 'Run AVX512 SkylakeX docker build / test'
+
- job: Intel_skx
pool:
vmImage: 'ubuntu-latest'
From ffb10f187263d5da447382ab36a7da412b744390 Mon Sep 17 00:00:00 2001
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Sat, 1 Jan 2022 22:43:43 +0100
Subject: [PATCH 07/10] Update azure-pipelines.yml
---
azure-pipelines.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index d5cb765db..683bc7ad6 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -76,7 +76,7 @@ jobs:
mkdir sde-external-8.35.0-2019-03-11-lin && \\
wget --quiet -O sde-external-8.35.0-2019-03-11-lin.tar.bz2 https://www.dropbox.com/s/fopsnzj67572sj5/sde-external-8.35.0-2019-03-11-lin.tar.bz2?dl=0 && \\
tar -xjvf sde-external-8.35.0-2019-03-11-lin.tar.bz2 -C /tmp/SDE/sde-external-8.35.0-2019-03-11-lin --strip-components=1
- RUN cd /tmp/openblas && echo 0 > /proc/sys/kernel/yama/ptrace_scope && CC=gcc /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/sde64 -cpuid_in /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/misc/cpuid/snb/cpuid.def -- make QUIET_MAKE=1 DYNAMIC_ARCH=1 NUM_THREADS=32 BINARY=64
+ CMD cd /tmp/openblas && echo 0 > /proc/sys/kernel/yama/ptrace_scope && CC=gcc /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/sde64 -cpuid_in /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/misc/cpuid/snb/cpuid.def -- make QUIET_MAKE=1 DYNAMIC_ARCH=1 NUM_THREADS=32 BINARY=64
CMD cd /tmp/openblas && echo 0 > /proc/sys/kernel/yama/ptrace_scope && CC=gcc OPENBLAS_VERBOSE=2 /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/sde64 -cpuid_in /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/misc/cpuid/skx/cpuid.def -- make -C utest DYNAMIC_ARCH=1 NUM_THREADS=32 BINARY=64" > Dockerfile
docker build -t intel_sde .
# we need a privileged docker run for sde process attachment
From b9e9431821df240535c3a8ee8657343b1c65fbd0 Mon Sep 17 00:00:00 2001
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Sat, 1 Jan 2022 23:17:12 +0100
Subject: [PATCH 08/10] Update azure-pipelines.yml
---
azure-pipelines.yml | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 683bc7ad6..e199e85ca 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -76,8 +76,7 @@ jobs:
mkdir sde-external-8.35.0-2019-03-11-lin && \\
wget --quiet -O sde-external-8.35.0-2019-03-11-lin.tar.bz2 https://www.dropbox.com/s/fopsnzj67572sj5/sde-external-8.35.0-2019-03-11-lin.tar.bz2?dl=0 && \\
tar -xjvf sde-external-8.35.0-2019-03-11-lin.tar.bz2 -C /tmp/SDE/sde-external-8.35.0-2019-03-11-lin --strip-components=1
- CMD cd /tmp/openblas && echo 0 > /proc/sys/kernel/yama/ptrace_scope && CC=gcc /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/sde64 -cpuid_in /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/misc/cpuid/snb/cpuid.def -- make QUIET_MAKE=1 DYNAMIC_ARCH=1 NUM_THREADS=32 BINARY=64
- CMD cd /tmp/openblas && echo 0 > /proc/sys/kernel/yama/ptrace_scope && CC=gcc OPENBLAS_VERBOSE=2 /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/sde64 -cpuid_in /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/misc/cpuid/skx/cpuid.def -- make -C utest DYNAMIC_ARCH=1 NUM_THREADS=32 BINARY=64" > Dockerfile
+ CMD cd /tmp/openblas && echo 0 > /proc/sys/kernel/yama/ptrace_scope && CC=gcc /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/sde64 -cpuid_in /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/misc/cpuid/snb/cpuid.def -- make QUIET_MAKE=1 DYNAMIC_ARCH=1 NUM_THREADS=32 BINARY=64 && CC=gcc OPENBLAS_VERBOSE=2 /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/sde64 -cpuid_in /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/misc/cpuid/skx/cpuid.def -- make -C utest DYNAMIC_ARCH=1 NUM_THREADS=32 BINARY=64" > Dockerfile
docker build -t intel_sde .
# we need a privileged docker run for sde process attachment
docker run --privileged intel_sde
From 0ea61108e3ad7c0e3154f6a0da7b8063706642f2 Mon Sep 17 00:00:00 2001
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Sun, 2 Jan 2022 12:11:26 +0100
Subject: [PATCH 09/10] Update azure-pipelines.yml
---
azure-pipelines.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index e199e85ca..fd8e29c9d 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -76,7 +76,7 @@ jobs:
mkdir sde-external-8.35.0-2019-03-11-lin && \\
wget --quiet -O sde-external-8.35.0-2019-03-11-lin.tar.bz2 https://www.dropbox.com/s/fopsnzj67572sj5/sde-external-8.35.0-2019-03-11-lin.tar.bz2?dl=0 && \\
tar -xjvf sde-external-8.35.0-2019-03-11-lin.tar.bz2 -C /tmp/SDE/sde-external-8.35.0-2019-03-11-lin --strip-components=1
- CMD cd /tmp/openblas && echo 0 > /proc/sys/kernel/yama/ptrace_scope && CC=gcc /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/sde64 -cpuid_in /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/misc/cpuid/snb/cpuid.def -- make QUIET_MAKE=1 DYNAMIC_ARCH=1 NUM_THREADS=32 BINARY=64 && CC=gcc OPENBLAS_VERBOSE=2 /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/sde64 -cpuid_in /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/misc/cpuid/skx/cpuid.def -- make -C utest DYNAMIC_ARCH=1 NUM_THREADS=32 BINARY=64" > Dockerfile
+ CMD cd /tmp/openblas && echo 0 > /proc/sys/kernel/yama/ptrace_scope && CC=gcc /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/sde64 -cpuid_in /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/misc/cpuid/snb/cpuid.def -- make QUIET_MAKE=1 DYNAMIC_ARCH=1 DYNAMIC_LIST=\"SANDYBRIDGE HASWELL SKYLAKEX\" NUM_THREADS=32 BINARY=64 && CC=gcc OPENBLAS_VERBOSE=2 /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/sde64 -cpuid_in /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/misc/cpuid/skx/cpuid.def -- make -C utest DYNAMIC_ARCH=1 NUM_THREADS=32 BINARY=64" > Dockerfile
docker build -t intel_sde .
# we need a privileged docker run for sde process attachment
docker run --privileged intel_sde
From ca2637af701fc5eed08065b192d9a9f63bf84243 Mon Sep 17 00:00:00 2001
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Sun, 2 Jan 2022 13:24:26 +0100
Subject: [PATCH 10/10] Update azure-pipelines.yml
---
azure-pipelines.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index fd8e29c9d..79414055e 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -76,7 +76,7 @@ jobs:
mkdir sde-external-8.35.0-2019-03-11-lin && \\
wget --quiet -O sde-external-8.35.0-2019-03-11-lin.tar.bz2 https://www.dropbox.com/s/fopsnzj67572sj5/sde-external-8.35.0-2019-03-11-lin.tar.bz2?dl=0 && \\
tar -xjvf sde-external-8.35.0-2019-03-11-lin.tar.bz2 -C /tmp/SDE/sde-external-8.35.0-2019-03-11-lin --strip-components=1
- CMD cd /tmp/openblas && echo 0 > /proc/sys/kernel/yama/ptrace_scope && CC=gcc /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/sde64 -cpuid_in /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/misc/cpuid/snb/cpuid.def -- make QUIET_MAKE=1 DYNAMIC_ARCH=1 DYNAMIC_LIST=\"SANDYBRIDGE HASWELL SKYLAKEX\" NUM_THREADS=32 BINARY=64 && CC=gcc OPENBLAS_VERBOSE=2 /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/sde64 -cpuid_in /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/misc/cpuid/skx/cpuid.def -- make -C utest DYNAMIC_ARCH=1 NUM_THREADS=32 BINARY=64" > Dockerfile
+ CMD cd /tmp/openblas && echo 0 > /proc/sys/kernel/yama/ptrace_scope && CC=gcc /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/sde64 -cpuid_in /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/misc/cpuid/snb/cpuid.def -- make QUIET_MAKE=1 DYNAMIC_ARCH=1 DYNAMIC_LIST=\"SANDYBRIDGE SKYLAKEX\" NUM_THREADS=32 BINARY=64 && CC=gcc OPENBLAS_VERBOSE=2 /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/sde64 -cpuid_in /tmp/SDE/sde-external-8.35.0-2019-03-11-lin/misc/cpuid/skx/cpuid.def -- make -C utest DYNAMIC_ARCH=1 NUM_THREADS=32 BINARY=64" > Dockerfile
docker build -t intel_sde .
# we need a privileged docker run for sde process attachment
docker run --privileged intel_sde

View File

@ -15,7 +15,7 @@
Name: openblas
Version: 0.3.19
Release: 1%{?dist}
Release: 2%{?dist}
Summary: An optimized BLAS library based on GotoBLAS2
License: BSD
URL: https://github.com/xianyi/OpenBLAS/
@ -26,6 +26,8 @@ Patch0: openblas-0.2.15-system_lapack.patch
Patch1: openblas-0.2.5-libname.patch
# Don't use constructor priorities on too old architectures
Patch2: openblas-0.2.15-constructor.patch
# Fix BZ#1982856
Patch3: https://github.com/xianyi/OpenBLAS/pull/3498.patch
BuildRequires: make
BuildRequires: gcc
@ -238,6 +240,7 @@ cd OpenBLAS-%{version}
%if 0%{?rhel} == 5
%patch2 -p1 -b .constructor
%endif
%patch3 -p1 -b .bz1982856
# Fix source permissions
find -name \*.f -exec chmod 644 {} \;
@ -643,6 +646,9 @@ rm -rf %{buildroot}%{_libdir}/pkgconfig
%endif
%changelog
* Mon Jan 03 2022 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.19-2
- Fix BZ#1982856.
* Sun Dec 19 2021 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.19-1
- Update to 0.3.19.