Mercurial > mxe-octave
view src/openblas-1-skylakex.patch @ 6049:e220e8374d08
OpenBLAS: Update patch with changes applied upstream.
* src/openblas-1-skylakex.patch: Update with changes from upstream.
See: https://github.com/xianyi/OpenBLAS/pull/3510
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Sun, 09 Jan 2022 17:46:24 +0100 |
parents | 4baf22dc7f2d |
children |
line wrap: on
line source
From 15d4b379138b9a5b84a2fbc2d37cb47b33efdeec Mon Sep 17 00:00:00 2001 From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de> Date: Sat, 8 Jan 2022 23:48:13 +0100 Subject: [PATCH 1/3] SkylakeX: match parameters to dgemm kernels for dyn/non-dyn --- param.h | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/param.h b/param.h index 2dffaae3c..4155131f0 100644 --- a/param.h +++ b/param.h @@ -1669,10 +1669,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #else #define SGEMM_DEFAULT_UNROLL_M 16 -#ifndef DYNAMIC_ARCH -#define DGEMM_DEFAULT_UNROLL_M 16 -#else +#ifdef DYNAMIC_ARCH #define DGEMM_DEFAULT_UNROLL_M 4 +#else +#define DGEMM_DEFAULT_UNROLL_M 16 #endif #define QGEMM_DEFAULT_UNROLL_M 2 #define CGEMM_DEFAULT_UNROLL_M 8 @@ -1680,10 +1680,10 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define XGEMM_DEFAULT_UNROLL_M 1 #define SGEMM_DEFAULT_UNROLL_N 4 -#ifndef DYNAMIC_ARCH -#define DGEMM_DEFAULT_UNROLL_N 2 -#else +#ifdef DYNAMIC_ARCH #define DGEMM_DEFAULT_UNROLL_N 8 +#else +#define DGEMM_DEFAULT_UNROLL_N 2 #endif #define QGEMM_DEFAULT_UNROLL_N 2 #define CGEMM_DEFAULT_UNROLL_N 2 @@ -1718,17 +1718,29 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #else #define SGEMM_DEFAULT_P 448 +#ifndef DYNAMIC_ARCH #define DGEMM_DEFAULT_P 192 +#else +#define DGEMM_DEFAULT_P 384 +#endif #define CGEMM_DEFAULT_P 384 #define ZGEMM_DEFAULT_P 256 #define SGEMM_DEFAULT_Q 448 +#ifndef DYNAMIC_ARCH #define DGEMM_DEFAULT_Q 384 +#else +#define DGEMM_DEFAULT_Q 168 +#endif #define CGEMM_DEFAULT_Q 192 #define ZGEMM_DEFAULT_Q 128 #define SGEMM_DEFAULT_R sgemm_r +#ifndef DYNAMIC_ARCH #define DGEMM_DEFAULT_R 8640 +#else +#define DGEMM_DEFAULT_R 13824 +#endif #define CGEMM_DEFAULT_R cgemm_r #define ZGEMM_DEFAULT_R zgemm_r From f1ac59f20057cefe4dd45122954e2403f1330835 Mon Sep 17 00:00:00 2001 From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de> Date: Sat, 8 Jan 2022 23:48:58 +0100 Subject: [PATCH 2/3] Forward DYNAMIC_ARCH option to Makefile.prebuild --- Makefile.system | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.system b/Makefile.system index 97fdc3f91..7909f677a 100644 --- a/Makefile.system +++ b/Makefile.system @@ -277,7 +277,7 @@ HAVE_GAS := $(shell $(AS) -v < /dev/null 2>&1 | grep GNU 2>&1 >/dev/null ; echo GETARCH_FLAGS += -DHAVE_GAS=$(HAVE_GAS) # Generating Makefile.conf and config.h -DUMMY := $(shell $(MAKE) -C $(TOPDIR) -f Makefile.prebuild CC="$(CC)" FC="$(FC)" HOSTCC="$(HOSTCC)" HOST_CFLAGS="$(GETARCH_FLAGS)" CFLAGS="$(CFLAGS)" BINARY=$(BINARY) USE_OPENMP=$(USE_OPENMP) TARGET_CORE=$(TARGET_CORE) ONLY_CBLAS=$(ONLY_CBLAS) TARGET=$(TARGET) all) +DUMMY := $(shell $(MAKE) -C $(TOPDIR) -f Makefile.prebuild CC="$(CC)" FC="$(FC)" HOSTCC="$(HOSTCC)" HOST_CFLAGS="$(GETARCH_FLAGS)" CFLAGS="$(CFLAGS)" BINARY=$(BINARY) USE_OPENMP=$(USE_OPENMP) DYNAMIC_ARCH=$(DYNAMIC_ARCH) TARGET_CORE=$(TARGET_CORE) ONLY_CBLAS=$(ONLY_CBLAS) TARGET=$(TARGET) all) ifndef TARGET_CORE include $(TOPDIR)/Makefile.conf From 2573ccfb2e02abec3f537479d65b58c4d6e746f3 Mon Sep 17 00:00:00 2001 From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de> Date: Sat, 8 Jan 2022 23:50:34 +0100 Subject: [PATCH 3/3] make DYNAMIC_ARCH option available to getarch_2nd/param.h --- Makefile.prebuild | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Makefile.prebuild b/Makefile.prebuild index d6395da7b..399db956f 100644 --- a/Makefile.prebuild +++ b/Makefile.prebuild @@ -3,6 +3,10 @@ export BINARY export USE_OPENMP +ifdef DYNAMIC_ARCH +override HOST_CFLAGS += -DDYNAMIC_ARCH +endif + ifdef TARGET_CORE TARGET_MAKE = Makefile_kernel.conf TARGET_CONF = config_kernel.h