Enable GEMM3M tests on supported platforms
This commit is contained in:
parent
cb8131cfd9
commit
0ce794f0c3
|
@ -10,6 +10,11 @@ if (CMAKE_Fortran_COMPILER_ID STREQUAL GNU)
|
||||||
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fno-tree-vectorize")
|
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fno-tree-vectorize")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
set (USE_GEMM3M 0)
|
||||||
|
if (${ARCH} MATCHES x86|x86_64|ia64|mips)
|
||||||
|
set(USE_GEMM3M 1)
|
||||||
|
endif ()
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/test_cblas_helper.ps1
|
FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/test_cblas_helper.ps1
|
||||||
"$ErrorActionPreference = \"Stop\"\n"
|
"$ErrorActionPreference = \"Stop\"\n"
|
||||||
|
@ -88,6 +93,17 @@ if (NOT NOFORTRAN)
|
||||||
auxiliary.c
|
auxiliary.c
|
||||||
c_xerbla.c
|
c_xerbla.c
|
||||||
constant.c)
|
constant.c)
|
||||||
|
if (USE_GEMM3M)
|
||||||
|
if ((${float_char} STREQUAL "c") OR (${float_char} STREQUAL "z"))
|
||||||
|
add_executable(x${float_char}cblat3_3m
|
||||||
|
c_${float_char}blat3_3m.f
|
||||||
|
c_${float_char}blas3_3m.c
|
||||||
|
c_${float_char}3chke_3m.c
|
||||||
|
auxiliary.c
|
||||||
|
c_xerbla.c
|
||||||
|
constant.c)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
else()
|
else()
|
||||||
add_executable(x${float_char}cblat3
|
add_executable(x${float_char}cblat3
|
||||||
c_${float_char}blat3c.c
|
c_${float_char}blat3c.c
|
||||||
|
@ -96,6 +112,17 @@ else()
|
||||||
auxiliary.c
|
auxiliary.c
|
||||||
c_xerbla.c
|
c_xerbla.c
|
||||||
constant.c)
|
constant.c)
|
||||||
|
if (USE_GEMM3M)
|
||||||
|
if ((${float_char} STREQUAL "c") OR (${float_char} STREQUAL "z"))
|
||||||
|
add_executable(x${float_char}cblat3_3m
|
||||||
|
c_${float_char}blat3c_3m.c
|
||||||
|
c_${float_char}blas3_3m.c
|
||||||
|
c_${float_char}3chke_3m.c
|
||||||
|
auxiliary.c
|
||||||
|
c_xerbla.c
|
||||||
|
constant.c)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
target_link_libraries(x${float_char}cblat3 ${OpenBLAS_LIBNAME})
|
target_link_libraries(x${float_char}cblat3 ${OpenBLAS_LIBNAME})
|
||||||
if (USE_OPENMP AND (${CMAKE_Fortran_COMPILER_ID} STREQUAL GNU) AND (${CMAKE_C_COMPILER_ID} STREQUAL Clang))
|
if (USE_OPENMP AND (${CMAKE_Fortran_COMPILER_ID} STREQUAL GNU) AND (${CMAKE_C_COMPILER_ID} STREQUAL Clang))
|
||||||
|
@ -105,7 +132,24 @@ endif()
|
||||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR ${CMAKE_SYSTEM_NAME} MATCHES "QNX")
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR ${CMAKE_SYSTEM_NAME} MATCHES "QNX")
|
||||||
target_link_libraries(x${float_char}cblat3 m)
|
target_link_libraries(x${float_char}cblat3 m)
|
||||||
endif()
|
endif()
|
||||||
|
if (USE_GEMM3M)
|
||||||
|
if ((${float_char} STREQUAL "c") OR (${float_char} STREQUAL "z"))
|
||||||
|
target_link_libraries(x${float_char}cblat3_3m ${OpenBLAS_LIBNAME})
|
||||||
|
if (USE_OPENMP AND (${CMAKE_Fortran_COMPILER_ID} STREQUAL GNU) AND (${CMAKE_C_COMPILER_ID} STREQUAL Clang))
|
||||||
|
string(REGEX REPLACE "-fopenmp" "" CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}")
|
||||||
|
target_link_libraries(x${float_char}cblat3 omp pthread)
|
||||||
|
endif()
|
||||||
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR ${CMAKE_SYSTEM_NAME} MATCHES "QNX")
|
||||||
|
target_link_libraries(x${float_char}cblat3_3m m)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
add_test(NAME "x${float_char}cblat3"
|
add_test(NAME "x${float_char}cblat3"
|
||||||
COMMAND ${test_helper} $<TARGET_FILE:x${float_char}cblat3> "${PROJECT_SOURCE_DIR}/ctest/${float_char}in3")
|
COMMAND ${test_helper} $<TARGET_FILE:x${float_char}cblat3> "${PROJECT_SOURCE_DIR}/ctest/${float_char}in3")
|
||||||
|
if (USE_GEMM3M)
|
||||||
|
if ((${float_char} STREQUAL "c") OR (${float_char} STREQUAL "z"))
|
||||||
|
add_test(NAME "x${float_char}cblat3_3m"
|
||||||
|
COMMAND ${test_helper} $<TARGET_FILE:x${float_char}cblat3_3m> "${PROJECT_SOURCE_DIR}/ctest/${float_char}in3_3m")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
|
@ -5,6 +5,24 @@
|
||||||
TOPDIR = ..
|
TOPDIR = ..
|
||||||
include $(TOPDIR)/Makefile.system
|
include $(TOPDIR)/Makefile.system
|
||||||
|
|
||||||
|
SUPPORT_GEMM3M = 0
|
||||||
|
|
||||||
|
ifeq ($(ARCH), x86)
|
||||||
|
SUPPORT_GEMM3M = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(ARCH), x86_64)
|
||||||
|
SUPPORT_GEMM3M = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(ARCH), ia64)
|
||||||
|
SUPPORT_GEMM3M = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(ARCH), MIPS)
|
||||||
|
SUPPORT_GEMM3M = 1
|
||||||
|
endif
|
||||||
|
|
||||||
override CFLAGS += -DADD$(BU) -DCBLAS
|
override CFLAGS += -DADD$(BU) -DCBLAS
|
||||||
ifeq ($(F_COMPILER),GFORTRAN)
|
ifeq ($(F_COMPILER),GFORTRAN)
|
||||||
override FFLAGS += -fno-tree-vectorize
|
override FFLAGS += -fno-tree-vectorize
|
||||||
|
@ -43,7 +61,7 @@ ztestl3o = c_zblas3.o c_z3chke.o auxiliary.o c_xerbla.o constant.o
|
||||||
ztestl3o_3m = c_zblas3_3m.o c_z3chke_3m.o auxiliary.o c_xerbla.o constant.o
|
ztestl3o_3m = c_zblas3_3m.o c_z3chke_3m.o auxiliary.o c_xerbla.o constant.o
|
||||||
|
|
||||||
|
|
||||||
all :: all1 all2 all3
|
all :: all1 all2 all3 all3_3m
|
||||||
|
|
||||||
ifeq ($(BUILD_SINGLE),1)
|
ifeq ($(BUILD_SINGLE),1)
|
||||||
all1targets += xscblat1
|
all1targets += xscblat1
|
||||||
|
@ -182,8 +200,9 @@ endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
all3_3m: xzcblat3_3m xccblat3_3m
|
all3_3m: xzcblat3_3m xccblat3_3m
|
||||||
|
ifeq ($(SUPPORT_GEMM3M),1)
|
||||||
ifeq ($(USE_OPENMP), 1)
|
ifeq ($(USE_OPENMP), 1)
|
||||||
ifeq ($(BUILD_SINGLE),1)
|
ifeq ($(BUILD_COMPLEX),1)
|
||||||
OMP_NUM_THREADS=2 ./xccblat3_3m < cin3_3m
|
OMP_NUM_THREADS=2 ./xccblat3_3m < cin3_3m
|
||||||
endif
|
endif
|
||||||
ifeq ($(BUILD_COMPLEX16),1)
|
ifeq ($(BUILD_COMPLEX16),1)
|
||||||
|
@ -197,6 +216,7 @@ ifeq ($(BUILD_COMPLEX16),1)
|
||||||
OPENBLAS_NUM_THREADS=2 ./xzcblat3_3m < zin3_3m
|
OPENBLAS_NUM_THREADS=2 ./xzcblat3_3m < zin3_3m
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -271,8 +291,10 @@ xccblat2: $(ctestl2o) c_cblat2.o $(TOPDIR)/$(LIBNAME)
|
||||||
$(FC) $(FLDFLAGS) -o xccblat2 c_cblat2.o $(ctestl2o) $(LIB) $(EXTRALIB) $(CEXTRALIB)
|
$(FC) $(FLDFLAGS) -o xccblat2 c_cblat2.o $(ctestl2o) $(LIB) $(EXTRALIB) $(CEXTRALIB)
|
||||||
xccblat3: $(ctestl3o) c_cblat3.o $(TOPDIR)/$(LIBNAME)
|
xccblat3: $(ctestl3o) c_cblat3.o $(TOPDIR)/$(LIBNAME)
|
||||||
$(FC) $(FLDFLAGS) -o xccblat3 c_cblat3.o $(ctestl3o) $(LIB) $(EXTRALIB) $(CEXTRALIB)
|
$(FC) $(FLDFLAGS) -o xccblat3 c_cblat3.o $(ctestl3o) $(LIB) $(EXTRALIB) $(CEXTRALIB)
|
||||||
|
ifeq ($(SUPPORT_GEMM3M),1)
|
||||||
xccblat3_3m: $(ctestl3o_3m) c_cblat3_3m.o $(TOPDIR)/$(LIBNAME)
|
xccblat3_3m: $(ctestl3o_3m) c_cblat3_3m.o $(TOPDIR)/$(LIBNAME)
|
||||||
$(FC) $(FLDFLAGS) -o xccblat3_3m c_cblat3_3m.o $(ctestl3o_3m) $(LIB) $(EXTRALIB) $(CEXTRALIB)
|
$(FC) $(FLDFLAGS) -o xccblat3_3m c_cblat3_3m.o $(ctestl3o_3m) $(LIB) $(EXTRALIB) $(CEXTRALIB)
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
xccblat1: $(ctestl1o) c_cblat1c.o $(TOPDIR)/$(LIBNAME)
|
xccblat1: $(ctestl1o) c_cblat1c.o $(TOPDIR)/$(LIBNAME)
|
||||||
$(CC) $(CFLAGS) -o xccblat1 c_cblat1c.o $(ctestl1o) $(LIB) $(CEXTRALIB) $(filter-out -lgfortran,$(EXTRALIB))
|
$(CC) $(CFLAGS) -o xccblat1 c_cblat1c.o $(ctestl1o) $(LIB) $(CEXTRALIB) $(filter-out -lgfortran,$(EXTRALIB))
|
||||||
|
@ -280,6 +302,10 @@ xccblat2: $(ctestl2o) c_cblat2c.o $(TOPDIR)/$(LIBNAME)
|
||||||
$(CC) $(CFLAGS) -o xccblat2 c_cblat2c.o $(ctestl2o) $(LIB) $(CEXTRALIB) $(filter-out -lgfortran,$(EXTRALIB))
|
$(CC) $(CFLAGS) -o xccblat2 c_cblat2c.o $(ctestl2o) $(LIB) $(CEXTRALIB) $(filter-out -lgfortran,$(EXTRALIB))
|
||||||
xccblat3: $(ctestl3o) c_cblat3c.o $(TOPDIR)/$(LIBNAME)
|
xccblat3: $(ctestl3o) c_cblat3c.o $(TOPDIR)/$(LIBNAME)
|
||||||
$(CC) $(CFLAGS) -o xccblat3 c_cblat3c.o $(ctestl3o) $(LIB) $(CEXTRALIB) $(filter-out -lgfortran,$(EXTRALIB))
|
$(CC) $(CFLAGS) -o xccblat3 c_cblat3c.o $(ctestl3o) $(LIB) $(CEXTRALIB) $(filter-out -lgfortran,$(EXTRALIB))
|
||||||
|
ifeq ($(SUPPORT_GEMM3M),1)
|
||||||
|
xccblat3_3m: $(ctestl3o_3m) c_cblat3c_3m.o $(TOPDIR)/$(LIBNAME)
|
||||||
|
$(CC) $(CFLAGS) -o xccblat3_3m c_cblat3c_3m.o $(ctestl3o_3m) $(LIB) $(EXTRALIB) $(CEXTRALIB)
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -293,8 +319,10 @@ xzcblat2: $(ztestl2o) c_zblat2.o $(TOPDIR)/$(LIBNAME)
|
||||||
$(FC) $(FLDFLAGS) -o xzcblat2 c_zblat2.o $(ztestl2o) $(LIB) $(EXTRALIB) $(CEXTRALIB)
|
$(FC) $(FLDFLAGS) -o xzcblat2 c_zblat2.o $(ztestl2o) $(LIB) $(EXTRALIB) $(CEXTRALIB)
|
||||||
xzcblat3: $(ztestl3o) c_zblat3.o $(TOPDIR)/$(LIBNAME)
|
xzcblat3: $(ztestl3o) c_zblat3.o $(TOPDIR)/$(LIBNAME)
|
||||||
$(FC) $(FLDFLAGS) -o xzcblat3 c_zblat3.o $(ztestl3o) $(LIB) $(EXTRALIB) $(CEXTRALIB)
|
$(FC) $(FLDFLAGS) -o xzcblat3 c_zblat3.o $(ztestl3o) $(LIB) $(EXTRALIB) $(CEXTRALIB)
|
||||||
|
ifeq ($(SUPPORT_GEMM3M),1)
|
||||||
xzcblat3_3m: $(ztestl3o_3m) c_zblat3_3m.o $(TOPDIR)/$(LIBNAME)
|
xzcblat3_3m: $(ztestl3o_3m) c_zblat3_3m.o $(TOPDIR)/$(LIBNAME)
|
||||||
$(FC) $(FLDFLAGS) -o xzcblat3_3m c_zblat3_3m.o $(ztestl3o_3m) $(LIB) $(EXTRALIB) $(CEXTRALIB)
|
$(FC) $(FLDFLAGS) -o xzcblat3_3m c_zblat3_3m.o $(ztestl3o_3m) $(LIB) $(EXTRALIB) $(CEXTRALIB)
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
xzcblat1: $(ztestl1o) c_zblat1c.o $(TOPDIR)/$(LIBNAME)
|
xzcblat1: $(ztestl1o) c_zblat1c.o $(TOPDIR)/$(LIBNAME)
|
||||||
$(CC) $(CFLAGS) -o xzcblat1 c_zblat1c.o $(ztestl1o) $(LIB) $(CEXTRALIB) $(filter-out -lgfortran,$(EXTRALIB))
|
$(CC) $(CFLAGS) -o xzcblat1 c_zblat1c.o $(ztestl1o) $(LIB) $(CEXTRALIB) $(filter-out -lgfortran,$(EXTRALIB))
|
||||||
|
@ -302,6 +330,10 @@ xzcblat2: $(ztestl2o) c_zblat2c.o $(TOPDIR)/$(LIBNAME)
|
||||||
$(CC) $(CFLAGS) -o xzcblat2 c_zblat2c.o $(ztestl2o) $(LIB) $(CEXTRALIB) $(filter-out -lgfortran,$(EXTRALIB))
|
$(CC) $(CFLAGS) -o xzcblat2 c_zblat2c.o $(ztestl2o) $(LIB) $(CEXTRALIB) $(filter-out -lgfortran,$(EXTRALIB))
|
||||||
xzcblat3: $(ztestl3o) c_zblat3c.o $(TOPDIR)/$(LIBNAME)
|
xzcblat3: $(ztestl3o) c_zblat3c.o $(TOPDIR)/$(LIBNAME)
|
||||||
$(CC) $(CFLAGS) -o xzcblat3 c_zblat3c.o $(ztestl3o) $(LIB) $(CEXTRALIB) $(filter-out -lgfortran,$(EXTRALIB))
|
$(CC) $(CFLAGS) -o xzcblat3 c_zblat3c.o $(ztestl3o) $(LIB) $(CEXTRALIB) $(filter-out -lgfortran,$(EXTRALIB))
|
||||||
|
ifeq ($(SUPPORT_GEMM3M),1)
|
||||||
|
xzcblat3_3m: $(ztestl3o_3m) c_zblat3c_3m.o $(TOPDIR)/$(LIBNAME)
|
||||||
|
$(CC) $(CFLAGS) -o xzcblat3_3m c_zblat3c_3m.o $(ztestl3o_3m) $(LIB) $(EXTRALIB) $(CEXTRALIB)
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue