Browse Source

Merge pull request #3510 from martin-frbg/issue3505

Fix recent SkylakeX/DYNAMIC_ARCH DGEMM breakage
tags/v0.3.20
Martin Kroeker GitHub 3 years ago
parent
commit
499ae5e8f7
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 7 deletions
  1. +4
    -0
      Makefile.prebuild
  2. +1
    -1
      Makefile.system
  3. +18
    -6
      param.h

+ 4
- 0
Makefile.prebuild View File

@@ -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


+ 1
- 1
Makefile.system View File

@@ -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


+ 18
- 6
param.h View File

@@ -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



Loading…
Cancel
Save