Merge pull request #230 from wernsaar/develop
authorZhang Xianyi <traits.zhang@gmail.com>
Thu, 13 Jun 2013 14:29:27 +0000 (07:29 -0700)
committerZhang Xianyi <traits.zhang@gmail.com>
Thu, 13 Jun 2013 14:29:27 +0000 (07:29 -0700)
Refs #230. New dgemm and sgemm Kernel for BULLDOZER

1  2 
Makefile.system

diff --combined Makefile.system
@@@ -20,12 -20,6 +20,12 @@@ endi
  # - Default value is 'cc' which is not always a valid command (e.g. MinGW).
  ifeq ($(origin CC),default)
  CC = gcc
 +# Change the default compile to clang on Mac OSX.
 +# http://stackoverflow.com/questions/714100/os-detecting-makefile
 +UNAME_S := $(shell uname -s)
 +ifeq ($(UNAME_S),Darwin)
 +     CC = clang
 +endif
  endif
  
  # Default Fortran compiler (FC) is selected by f_check.
@@@ -59,7 -53,7 +59,7 @@@ GETARCH_FLAGS += -DUSE64BITIN
  endif
  
  ifndef GEMM_MULTITHREAD_THRESHOLD
 -GEMM_MULTITHREAD_THRESHOLD=50
 +GEMM_MULTITHREAD_THRESHOLD=4
  endif
  GETARCH_FLAGS += -DGEMM_MULTITHREAD_THRESHOLD=$(GEMM_MULTITHREAD_THRESHOLD) 
  
@@@ -71,10 -65,6 +71,10 @@@ ifeq ($(DEBUG), 1
  GETARCH_FLAGS += -g
  endif
  
 +ifndef NO_PARALLEL_MAKE
 +NO_PARALLEL_MAKE=0
 +endif
 +GETARCH_FLAGS += -DNO_PARALLEL_MAKE=$(NO_PARALLEL_MAKE)
  # This operation is expensive, so execution should be once.
  ifndef GOTOBLAS_MAKEFILE
  export GOTOBLAS_MAKEFILE = 1
@@@ -158,12 -148,7 +158,12 @@@ EXTRALIB        += -defaultlib:advapi3
  
  SUFFIX  = obj
  PSUFFIX = pobj
 -LIBSUFFIX = lib
 +LIBSUFFIX = a
 +
 +ifeq ($(C_COMPILER), CLANG)
 +CCOMMON_OPT   += -DMS_ABI
 +endif
 +
  ifeq ($(C_COMPILER), GCC)
  #Test for supporting MS_ABI
  GCCVERSIONGTEQ4 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 4)
@@@ -243,11 -228,6 +243,11 @@@ EXPRECISION      = 
  CCOMMON_OPT   += -DEXPRECISION -m128bit-long-double
  FCOMMON_OPT   += -m128bit-long-double
  endif
 +ifeq ($(C_COMPILER), CLANG)
 +EXPRECISION   = 1
 +CCOMMON_OPT   += -DEXPRECISION 
 +FCOMMON_OPT   += -m128bit-long-double
 +endif
  endif
  endif
  endif
@@@ -260,11 -240,6 +260,11 @@@ EXPRECISION      = 
  CCOMMON_OPT   += -DEXPRECISION -m128bit-long-double
  FCOMMON_OPT   += -m128bit-long-double
  endif
 +ifeq ($(C_COMPILER), CLANG)
 +EXPRECISION   = 1
 +CCOMMON_OPT   += -DEXPRECISION 
 +FCOMMON_OPT   += -m128bit-long-double
 +endif
  endif
  endif
  endif
@@@ -278,11 -253,6 +278,11 @@@ ifeq ($(C_COMPILER), GCC
  CCOMMON_OPT    += -fopenmp
  endif
  
 +ifeq ($(C_COMPILER), CLANG)
 +$(error OpenBLAS: Clang didn't support OpenMP yet.)
 +CCOMMON_OPT    += -fopenmp
 +endif
 +
  ifeq ($(C_COMPILER), INTEL)
  CCOMMON_OPT    += -openmp
  endif
@@@ -348,9 -318,7 +348,9 @@@ endi
  #  C Compiler dependent settings
  #
  
 -ifeq ($(C_COMPILER), GCC)
 +# ifeq logical or. GCC or CLANG
 +# http://stackoverflow.com/questions/7656425/makefile-ifeq-logical-or
 +ifeq ($(C_COMPILER), $(filter $(C_COMPILER),GCC CLANG))
  CCOMMON_OPT += -Wall
  COMMON_PROF += -fno-inline
  NO_UNINITIALIZED_WARN =  -Wno-uninitialized
@@@ -867,6 -835,13 +867,13 @@@ export ZGEMM_UNROLL_
  export ZGEMM_UNROLL_N
  export XGEMM_UNROLL_M
  export XGEMM_UNROLL_N
+ export CGEMM3M_UNROLL_M
+ export CGEMM3M_UNROLL_N
+ export ZGEMM3M_UNROLL_M
+ export ZGEMM3M_UNROLL_N
+ export XGEMM3M_UNROLL_M
+ export XGEMM3M_UNROLL_N
  
  ifdef USE_CUDA
  export CUDADIR