xianyi / blas-tester Goto Github PK
View Code? Open in Web Editor NEWa tester for BLAS libraries including OpenBLAS and Intel MKL. This project is based on ATLAS BLAS Tester
License: BSD 3-Clause "New" or "Revised" License
a tester for BLAS libraries including OpenBLAS and Intel MKL. This project is based on ATLAS BLAS Tester
License: BSD 3-Clause "New" or "Revised" License
Hi!
I just compiled OpenBLAS and it's not passing in 2 tests of the BLAS-Tester
(my processor is a i5 3330 with 1024MB of L2 cache):
#
# Beginning of user configuration
#
# This library's version
VERSION = 0.3.0.dev
# If you set the suffix, the library name will be libopenblas_$(LIBNAMESUFFIX).a
# and libopenblas_$(LIBNAMESUFFIX).so. Meanwhile, the soname in shared library
# is libopenblas_$(LIBNAMESUFFIX).so.0.
# LIBNAMESUFFIX = omp
# You can specify the target architecture, otherwise it's
# automatically detected.
# TARGET = PENRYN
# If you want to support multiple architecture in one binary
# DYNAMIC_ARCH = 1
# C compiler including binary type(32bit / 64bit). Default is gcc.
# Don't use Intel Compiler or PGI, it won't generate right codes as I expect.
CC = gcc
# Fortran compiler. Default is g77.
FC = gfortran
# Even you can specify cross compiler. Meanwhile, please set HOSTCC.
# cross compiler for Windows
# CC = x86_64-w64-mingw32-gcc
# FC = x86_64-w64-mingw32-gfortran
# cross compiler for 32bit ARM
# CC = arm-linux-gnueabihf-gcc
# FC = arm-linux-gnueabihf-gfortran
# cross compiler for 64bit ARM
# CC = aarch64-linux-gnu-gcc
# FC = aarch64-linux-gnu-gfortran
# If you use the cross compiler, please set this host compiler.
# HOSTCC = gcc
# If you need 32bit binary, define BINARY=32, otherwise define BINARY=64
BINARY=64
# About threaded BLAS. It will be automatically detected if you don't
# specify it.
# For force setting for single threaded, specify USE_THREAD = 0
# For force setting for multi threaded, specify USE_THREAD = 1
USE_THREAD = 1
# If you're going to use this library with OpenMP, please comment it in.
# This flag is always set for POWER8. Don't modify the flag
USE_OPENMP = 1
# You can define maximum number of threads. Basically it should be
# less than actual number of cores. If you don't specify one, it's
# automatically detected by the the script.
# NUM_THREADS = 24
# if you don't need to install the static library, please comment it in.
# NO_STATIC = 1
# if you don't need generate the shared library, please comment it in.
# NO_SHARED = 1
# If you don't need CBLAS interface, please comment it in.
# NO_CBLAS = 1
# If you only want CBLAS interface without installing Fortran compiler,
# please comment it in.
# ONLY_CBLAS = 1
# If you don't need LAPACK, please comment it in.
# If you set NO_LAPACK=1, the library automatically sets NO_LAPACKE=1.
# NO_LAPACK = 1
# If you don't need LAPACKE (C Interface to LAPACK), please comment it in.
# NO_LAPACKE = 1
# Build LAPACK Deprecated functions since LAPACK 3.6.0
BUILD_LAPACK_DEPRECATED = 1
# Build RecursiveLAPACK on top of LAPACK
# BUILD_RELAPACK = 1
# If you want to use legacy threaded Level 3 implementation.
# USE_SIMPLE_THREADED_LEVEL3 = 1
# If you want to drive whole 64bit region by BLAS. Not all Fortran
# compiler supports this. It's safe to keep comment it out if you
# are not sure(equivalent to "-i8" option).
# INTERFACE64 = 1
# Unfortunately most of kernel won't give us high quality buffer.
# BLAS tries to find the best region before entering main function,
# but it will consume time. If you don't like it, you can disable one.
NO_WARMUP = 1
# If you want to disable CPU/Memory affinity on Linux.
#NO_AFFINITY = 1
# if you are compiling for Linux and you have more than 16 numa nodes or more than 256 cpus
# BIGNUMA = 1
# Don't use AVX kernel on Sandy Bridge. It is compatible with old compilers
# and OS. However, the performance is low.
# NO_AVX = 1
# Don't use Haswell optimizations if binutils is too old (e.g. RHEL6)
# NO_AVX2 = 1
# Don't use parallel make.
# NO_PARALLEL_MAKE = 1
# Force number of make jobs. The default is the number of logical CPU of the host.
# This is particularly useful when using distcc.
# A negative value will disable adding a -j flag to make, allowing to use a parent
# make -j value. This is useful to call OpenBLAS make from an other project
# makefile
MAKE_NB_JOBS = 5
# If you would like to know minute performance report of GotoBLAS.
# FUNCTION_PROFILE = 1
# Support for IEEE quad precision(it's *real* REAL*16)( under testing)
# QUAD_PRECISION = 1
# Theads are still working for a while after finishing BLAS operation
# to reduce thread activate/deactivate overhead. You can determine
# time out to improve performance. This number should be from 4 to 30
# which corresponds to (1 << n) cycles. For example, if you set to 26,
# thread will be running for (1 << 26) cycles(about 25ms on 3.0GHz
# system). Also you can control this mumber by THREAD_TIMEOUT
# CCOMMON_OPT += -DTHREAD_TIMEOUT=26
# Using special device driver for mapping physically contigous memory
# to the user space. If bigphysarea is enabled, it will use it.
# DEVICEDRIVER_ALLOCATION = 1
# If you need to synchronize FP CSR between threads (for x86/x86_64 only).
# CONSISTENT_FPCSR = 1
# If any gemm arguement m, n or k is less or equal this threshold, gemm will be execute
# with single thread. You can use this flag to avoid the overhead of multi-threading
# in small matrix sizes. The default value is 4.
# GEMM_MULTITHREAD_THRESHOLD = 4
# If you need santy check by comparing reference BLAS. It'll be very
# slow (Not implemented yet).
# SANITY_CHECK = 1
# The installation directory.
PREFIX = /c/OpenBLAS-develop/build
# Common Optimization Flag;
# The default -O2 is enough.
# Flags for POWER8 are defined in Makefile.power. Don't modify COMMON_OPT
# COMMON_OPT = -O2
# gfortran option for LAPACK
# enable this flag only on 64bit Linux and if you need a thread safe lapack library
# Flags for POWER8 are defined in Makefile.power. Don't modify FCOMMON_OPT
# FCOMMON_OPT = -frecursive
# Profiling flags
COMMON_PROF = -pg
# Build Debug version
# DEBUG = 1
# Set maximum stack allocation.
# The default value is 2048. 0 disable stack allocation a may reduce GER and GEMV
# performance. For details, https://github.com/xianyi/OpenBLAS/pull/482
#
# MAX_STACK_ALLOC = 0
# Add a prefix or suffix to all exported symbol names in the shared library.
# Avoid conflicts with other BLAS libraries, especially when using
# 64 bit integer interfaces in OpenBLAS.
# For details, https://github.com/xianyi/OpenBLAS/pull/459
#
# The same prefix and suffix are also added to the library name,
# i.e. you get lib$(SYMBOLPREFIX)openblas$(SYMBOLSUFFIX) rather than libopenblas
#
# SYMBOLPREFIX=
# SYMBOLSUFFIX=
#
# End of user configuration
#
#
# configuration
#
#
# Default compiler
# Supports gcc & icc.
#
CC = gcc
# CC = icc
FC = gfortran
#
# CPU architecture
#
# For i386 and x86-64 (default)
ARCH = X86
#
# For Loongson CPU
# ARCH = loongson
#
# For SW1600 CPU
# ARCH = sw1600
#
# For ARM
# ARCH = ARM
#
# For ARM 64-bit
# ARCH = ARM64
#
# define BINARY=32 or BINARY=64
#
BINARY=64
# the path to BLAS library
#
TEST_BLAS = /c/OpenBLAS-develop/build/lib/libopenblas.a
# The size of Level 2 Cache (default = 4M)
# 4M=4194304 6M=6291456 8M=8388608 12M=12582912
# 1M=1048576
L2SIZE = 1048576
# The number of threads (default = 1)
#
NUMTHREADS = 4
# Use OPENMP
#
USE_OPENMP = 1
# BLAS interface is compiled by ifort
#
# F_INTERFACE_INTEL = 1
# Use 64-bit int
#
# INTERFACE64 = 1
# Debug the library
#
DEBUG = 1
# Reference Level-3 BLAS is very slow. If you only want test
# the performance, please use this flag.
#
ONLY_PERFORMANCE=1
# Don't test i?amin level 1 BLAS function.
# If you test ATLAS, please use this flag
#
# NO_EXTENSION=1
# To test BLAS invalid reading.
#
#
TEST_INVALID_READ=1
xdl3blastst.exe
--------------------------------- GEMM ----------------------------------
TST# A B M N K ALPHA LDA LDB BETA LDC TIME MFLOP SpUp TEST
==== = = ==== ==== ==== ===== ==== ==== ===== ==== ===== ===== ==== =====
0 N N 100 100 100 1.0 1000 1000 1.0 1000 0.00 0.0 1.00 -----
0 N N 100 100 100 1.0 1000 1000 1.0 1000 0.00 2000.1 0.00 FAIL
1 N N 200 200 200 1.0 1000 1000 1.0 1000 0.00 0.0 1.00 -----
1 N N 200 200 200 1.0 1000 1000 1.0 1000 0.00 16001.2 0.00 FAIL
2 N N 300 300 300 1.0 1000 1000 1.0 1000 0.00 0.0 1.00 -----
2 N N 300 300 300 1.0 1000 1000 1.0 1000 0.00 26998.7 0.00 FAIL
3 N N 400 400 400 1.0 1000 1000 1.0 1000 0.00 0.0 1.00 -----
3 N N 400 400 400 1.0 1000 1000 1.0 1000 0.00 64004.6 0.00 FAIL
4 N N 500 500 500 1.0 1000 1000 1.0 1000 0.00 0.0 1.00 -----
4 N N 500 500 500 1.0 1000 1000 1.0 1000 0.01 25000.0 0.00 FAIL
5 N N 600 600 600 1.0 1000 1000 1.0 1000 0.00 0.0 1.00 -----
5 N N 600 600 600 1.0 1000 1000 1.0 1000 0.02 28799.8 0.00 FAIL
6 N N 700 700 700 1.0 1000 1000 1.0 1000 0.00 0.0 1.00 -----
6 N N 700 700 700 1.0 1000 1000 1.0 1000 0.02 36101.1 0.00 FAIL
7 N N 800 800 800 1.0 1000 1000 1.0 1000 0.00 0.0 1.00 -----
7 N N 800 800 800 1.0 1000 1000 1.0 1000 0.02 44519.4 0.00 FAIL
8 N N 900 900 900 1.0 1000 1000 1.0 1000 0.00 0.0 1.00 -----
8 N N 900 900 900 1.0 1000 1000 1.0 1000 0.04 40497.8 0.00 FAIL
9 N N 1000 1000 1000 1.0 1000 1000 1.0 1000 0.00 0.0 1.00 -----
9 N N 1000 1000 1000 1.0 1000 1000 1.0 1000 0.04 55552.2 0.00 FAIL
10 tests run, 0 passed
ERROR: resid=16594586171.078035, normD=89.889952, normA=28.793478, normB=29.226439, normC=28.989082, eps=2.220446e-015
resid=16594586171.078035
ERROR: resid=2773246963.051268, normD=218.792316, normA=56.642434, normB=57.305220, normC=54.731481, eps=2.220446e-015
resid=2773246963.051268
ERROR: resid=1094383692.194749, normD=403.595201, normA=81.700942, normB=82.799372, normC=81.839090, eps=2.220446e-015
resid=1094383692.194749
ERROR: resid=534562438.250687, normD=596.196173, normA=108.791732, normB=107.565588, normC=107.305327, eps=2.220446e-015
resid=534562438.250687
ERROR: resid=305866010.093331, normD=816.988601, normA=135.098887, normB=134.129053, normC=132.769989, eps=2.220446e-015
resid=305866010.093331
ERROR: resid=192610482.239102, normD=1069.112441, normA=161.428768, normB=160.691640, normC=160.611920, eps=2.220446e-015
resid=192610482.239102
ERROR: resid=138021619.603977, normD=1367.737912, normA=185.091087, normB=185.631790, normC=185.557983, eps=2.220446e-015
resid=138021619.603977
ERROR: resid=96740043.055165, normD=1660.811029, normA=213.176325, normB=211.591894, normC=214.262286, eps=2.220446e-015
resid=96740043.055165
ERROR: resid=74284120.110187, normD=1991.189904, normA=235.355207, normB=238.370610, normC=239.087816, eps=2.220446e-015
resid=74284120.110187
ERROR: resid=56641560.947299, normD=2339.706092, normA=263.700784, normB=267.147553, normC=264.072542, eps=2.220446e-015
resid=56641560.947299
xzl3blastst.exe
----------------------------------- GEMM ---------------------------------------
TST# A B M N K ALPHA LDA LDB BETA LDC TIME MFLOP SpUp TEST
==== = = ==== ==== ==== ==== ==== ==== ==== ==== ==== ==== ==== ===== ==== =====
0 N N 100 100 100 1.0 0.0 1000 1000 1.0 0.0 1000 0.0 0.0 1.00 -----
0 N N 100 100 100 1.0 0.0 1000 1000 1.0 0.0 1000 0.0 8000.6 0.00 FAIL
1 N N 200 200 200 1.0 0.0 1000 1000 1.0 0.0 1000 0.0 0.0 1.00 -----
1 N N 200 200 200 1.0 0.0 1000 1000 1.0 0.0 1000 0.0 64004.6 0.00 FAIL
2 N N 300 300 300 1.0 0.0 1000 1000 1.0 0.0 1000 0.0 0.0 1.00 -----
2 N N 300 300 300 1.0 0.0 1000 1000 1.0 0.0 1000 0.0 35999.7 0.00 FAIL
3 N N 400 400 400 1.0 0.0 1000 1000 1.0 0.0 1000 0.0 0.0 1.00 -----
3 N N 400 400 400 1.0 0.0 1000 1000 1.0 0.0 1000 0.0 39381.7 0.00 FAIL
4 N N 500 500 500 1.0 0.0 1000 1000 1.0 0.0 1000 0.0 0.0 1.00 -----
4 N N 500 500 500 1.0 0.0 1000 1000 1.0 0.0 1000 0.0 43474.2 0.00 FAIL
5 N N 600 600 600 1.0 0.0 1000 1000 1.0 0.0 1000 0.0 0.0 1.00 -----
5 N N 600 600 600 1.0 0.0 1000 1000 1.0 0.0 1000 0.0 40183.4 0.00 FAIL
6 N N 700 700 700 1.0 0.0 1000 1000 1.0 0.0 1000 0.0 0.0 1.00 -----
6 N N 700 700 700 1.0 0.0 1000 1000 1.0 0.0 1000 0.1 43553.6 0.00 FAIL
7 N N 800 800 800 1.0 0.0 1000 1000 1.0 0.0 1000 0.0 0.0 1.00 -----
7 N N 800 800 800 1.0 0.0 1000 1000 1.0 0.0 1000 0.2 23674.9 0.00 FAIL
8 N N 900 900 900 1.0 0.0 1000 1000 1.0 0.0 1000 0.0 0.0 1.00 -----
8 N N 900 900 900 1.0 0.0 1000 1000 1.0 0.0 1000 0.1 43520.1 0.00 FAIL
9 N N 1000 1000 1000 1.0 0.0 1000 1000 1.0 0.0 1000 0.0 0.0 1.00 -----
9 N N 1000 1000 1000 1.0 0.0 1000 1000 1.0 0.0 1000 0.2 43475.9 0.00 FAIL
10 tests run, 0 passed
ERROR: resid=5808263227.808679, normD=216.237078, normA=55.385994, normB=54.860139, normC=55.180648, eps=2.220446e-015
resid=5808263227.808679
ERROR: resid=1074809828.113166, normD=601.797181, normA=106.491473, normB=109.570072, normC=108.054166, eps=2.220446e-015
resid=1074809828.113166
ERROR: resid=396457559.182390, normD=1083.087382, normA=161.254057, normB=159.568429, normC=159.385091, eps=2.220446e-015
resid=396457559.182390
ERROR: resid=199769392.057709, normD=1661.614599, normA=211.307150, normB=210.324956, normC=210.715331, eps=2.220446e-015
resid=199769392.057709
ERROR: resid=111071418.163279, normD=2253.468650, normA=264.344989, normB=264.029114, normC=261.827991, eps=2.220446e-015
resid=111071418.163279
ERROR: resid=71719253.247765, normD=3004.049181, normA=315.190676, normB=316.395238, normC=315.265541, eps=2.220446e-015
resid=71719253.247765
ERROR: resid=48877783.458658, normD=3768.493740, normA=367.077460, normB=365.469404, normC=369.750940, eps=2.220446e-015
resid=48877783.458658
ERROR: resid=35328098.327874, normD=4572.585438, normA=419.474251, normB=417.001526, normC=416.551214, eps=2.220446e-015
resid=35328098.327874
ERROR: resid=26326291.949775, normD=5440.816380, normA=468.969008, normB=471.419747, normC=467.777930, eps=2.220446e-015
resid=26326291.949775
ERROR: resid=20419316.036365, normD=6425.550719, normA=520.205707, normB=521.716708, normC=522.178614, eps=2.220446e-015
resid=20419316.036365
@xianyi
I want to use Blas-tester to test MKL. I have install MKL on my Linux, in the directory of /opt/intel/mkl/lib/intel64, in the directory of BLAS-TESTER-MASTER, I use the comand of
make TEST_BLAS=/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.a ARCH=X86 BINARY=64 NUMTHREADS=1 L2SIZE=4194304
the error is
mkdir -p . ./bin
gcc -I./include -DAdd_ -DStringSunStyle -DATL_OS_Linux -DTHREADNUM=1 -DF77_INTEGER=int -m64 -O3 -o ./bin/xsl1blastst sl1blastst.o ATL_sf77rotg.o ATL_sf77rot.o ATL_sf77rotmg.o ATL_sf77rotm.o ATL_sf77swap.o ATL_sf77scal.o ATL_sf77copy.o ATL_sf77axpy.o ATL_sf77dot.o ATL_sdsf77dot.o ATL_dsf77dot.o ATL_sf77nrm2.o ATL_sf77asum.o ATL_sf77amax.o ATL_sf77rotgf.o ATL_sf77rotf.o ATL_sf77rotmgf.o ATL_sf77rotmf.o ATL_sf77swapf.o ATL_sf77scalf.o ATL_sf77copyf.o ATL_sf77axpyf.o ATL_sf77dotf.o ATL_sdsf77dotf.o ATL_dsf77dotf.o ATL_sf77nrm2f.o ATL_sf77asumf.o ATL_sf77amaxf.o ATL_sf77aminf.o ATL_flushcache.o ATL_sinfnrm.o ATL_rand.o ATL_svdiff.o ATL_sf77amin.o ./refblas/librefblas.a /opt/intel/mkl/lib/intel64/libmkl_intel_lp64.a -lm -lgfortran
/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.a(_dsdot_lp64.o): In function `dsdot':
../../../../blas/iface/thunks_ext/_dsdot.c:(.text+0x54): undefined reference to `mkl_blas_dsdot'
../../../../blas/iface/thunks_ext/_dsdot.c:(.text+0xcb): undefined reference to `mkl_blas_dsdot'
/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.a(_sswap_lp64.o): In function `sswap':
../../../../blas/iface/thunks_ext/_sswap.c:(.text+0x54): undefined reference to `mkl_blas_sswap'
../../../../blas/iface/thunks_ext/_sswap.c:(.text+0xcb): undefined reference to `mkl_blas_sswap'
/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.a(_srot_lp64.o): In function `srot':
../../../../blas/iface/thunks_ext/_srot.c:(.text+0x68): undefined reference to `mkl_blas_srot'
../../../../blas/iface/thunks_ext/_srot.c:(.text+0xff): undefined reference to `mkl_blas_srot'
/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.a(_sdot_lp64.o): In function `sdot':
../../../../blas/iface/thunks_ext/_sdot.c:(.text+0x54): undefined reference to `mkl_blas_sdot'
../../../../blas/iface/thunks_ext/_sdot.c:(.text+0xcb): undefined reference to `mkl_blas_sdot'
/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.a(_scopy_lp64.o): In function `scopy':
../../../../blas/iface/thunks_ext/_scopy.c:(.text+0x54): undefined reference to `mkl_blas_scopy'
../../../../blas/iface/thunks_ext/_scopy.c:(.text+0xcb): undefined reference to `mkl_blas_scopy'
/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.a(_saxpy_lp64.o): In function `saxpy':
../../../../blas/iface/thunks_ext/_saxpy.c:(.text+0x55): undefined reference to `mkl_blas_saxpy'
../../../../blas/iface/thunks_ext/_saxpy.c:(.text+0xd9): undefined reference to `mkl_blas_saxpy'
/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.a(_isamin_lp64.o): In function `isamin':
../../../../blas/iface/thunks_ext_to_ker/_isamin.c:(.text+0x42): undefined reference to `mkl_blas_isamin'
../../../../blas/iface/thunks_ext_to_ker/_isamin.c:(.text+0x9b): undefined reference to `mkl_blas_isamin'
/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.a(_isamax_lp64.o): In function `isamax':
../../../../blas/iface/thunks_ext_to_ker/_isamax.c:(.text+0x42): undefined reference to `mkl_blas_isamax'
../../../../blas/iface/thunks_ext_to_ker/_isamax.c:(.text+0x9b): undefined reference to `mkl_blas_isamax'
/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.a(_sscal_lp64.o): In function `sscal':
../../../../blas/iface/thunks_ext_to_ker/_sscal.c:(.text+0x42): undefined reference to `mkl_blas_sscal'
../../../../blas/iface/thunks_ext_to_ker/_sscal.c:(.text+0xab): undefined reference to `mkl_blas_sscal'
/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.a(_srotmg_lp64.o): In function `srotmg':
../../../../blas/iface/thunks_ext_to_ker/_srotmg.c:(.text+0x1b): undefined reference to `mkl_blas_srotmg'
../../../../blas/iface/thunks_ext_to_ker/_srotmg.c:(.text+0x96): undefined reference to `mkl_blas_srotmg'
/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.a(_srotm_lp64.o): In function `srotm':
../../../../blas/iface/thunks_ext_to_ker/_srotm.c:(.text+0x55): undefined reference to `mkl_blas_srotm'
../../../../blas/iface/thunks_ext_to_ker/_srotm.c:(.text+0xd9): undefined reference to `mkl_blas_srotm'
/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.a(_srotg_lp64.o): In function `srotg':
../../../../blas/iface/thunks_ext_to_ker/_srotg.c:(.text+0x1b): undefined reference to `mkl_blas_srotg'
../../../../blas/iface/thunks_ext_to_ker/_srotg.c:(.text+0x88): undefined reference to `mkl_blas_srotg'
/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.a(_snrm2_lp64.o): In function `snrm2':
../../../../blas/iface/thunks_ext_to_ker/_snrm2.c:(.text+0x42): undefined reference to `mkl_blas_snrm2'
../../../../blas/iface/thunks_ext_to_ker/_snrm2.c:(.text+0x9b): undefined reference to `mkl_blas_snrm2'
/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.a(_sdsdot_lp64.o): In function `sdsdot':
../../../../blas/iface/thunks_ext_to_ker/_sdsdot.c:(.text+0x55): undefined reference to `mkl_blas_sdsdot'
../../../../blas/iface/thunks_ext_to_ker/_sdsdot.c:(.text+0xd9): undefined reference to `mkl_blas_sdsdot'
/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.a(_sasum_lp64.o): In function `sasum':
../../../../blas/iface/thunks_ext_to_ker/_sasum.c:(.text+0x42): undefined reference to `mkl_blas_sasum'
../../../../blas/iface/thunks_ext_to_ker/_sasum.c:(.text+0x9b): undefined reference to `mkl_blas_sasum'
/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.a(_verbose_internal.o): In function `mkl_serv_iface_verbose_mode':
../../../../serv/iface/thunks_ext_to_ker/_verbose_internal.c:(.text+0x3): undefined reference to `mkl_serv_verbose_mode'
/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.a(_verbose_info_internal.o): In function `mkl_serv_iface_print_verbose_info':
../../../../serv/iface/thunks_ext_to_ker/_verbose_info_internal.c:(.text+0x1): undefined reference to `mkl_serv_print_verbose_info'
/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.a(_dsecnd_internal.o): In function `mkl_serv_iface_dsecnd':
../../../../serv/iface/thunks_ext_to_ker/_dsecnd_internal.c:(.text+0x2): undefined reference to `mkl_serv_dsecnd'
collect2: error: ld returned 1 exit status
make: *** [xsl1blastst] Error 1
I also use the library of libmkl_intel_ilp64.a, the error is same.
System info is as follow.
uname -a
Linux TEST_DN 3.0.76-0.11-default #1 SMP Fri Jun 14 08:21:43 UTC 2013 (ccab990) x86_64 x86_64 x86_64 GNU/Linux
CPU info:model name : Intel(R) Xeon(R) CPU E5-2650L v3 @ 1.80GHz
> lsb_release -a
> LSB Version: core-2.0-noarch:core-3.2-noarch:core-4.0-noarch:core-2.0-x86_64:core-3.2-x86_64:core-4.0-x86_64:desktop-4.0-amd64:desktop-4.0-noarch:graphics-2.0-amd64:graphics-2.0-noarch:graphics-3.2-amd64:graphics-3.2-noarch:graphics-4.0-amd64:graphics-4.0-noarch
> Distributor ID: SUSE LINUX
> Description: SUSE Linux Enterprise Server 11 (x86_64)
> Release: 11
> Codename: n/a
gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc-4.9.3/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --prefix=/usr/local/gcc-4.9.3 --enable-threads=posix --disable-checking --enable--long-long --enable-languages=c,c++,fortran --disable-multilib
Thread model: posix
gcc version 4.9.3 (GCC)
gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/usr/local/gcc-4.9.3/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --prefix=/usr/local/gcc-4.9.3 --enable-threads=posix --disable-checking --enable--long-long --enable-languages=c,c++,fortran --disable-multilib
Thread model: posix
gcc version 4.9.3 (GCC)
Thanks.
bin/xcl2blastst -R tbsv -U 1 U -A 1 N -D 2 U N -n 4 -X 2 2 1 -q 3
bin/xcl2blastst -R tbsv -U 1 U -A 1 N -D 2 U N -n 4 -X 2 2 1 -q 3
----------------------------- TBSV ------------------------------
TST# UPLO TRAN DIAG N K LDA INCX TIME MFLOP SpUp TEST
==== ==== ==== ==== ==== ==== ==== ==== ====== ====== ===== =====
ERROR: resid=98473.945312, normD=0.469560, normA=0.393167, normX=0.539283, eps=1.192093e-06
resid=98473.945312
0 U N U 4 3 4 2 0.00 17.8 1.00 -----
0 U N U 4 3 4 2 0.00 6.6 0.37 FAIL
1 U N U 4 3 4 1 0.00 75.5 1.00 -----
1 U N U 4 3 4 1 0.00 75.5 1.00 PASS
ERROR: resid=28358.013672, normD=0.188386, normA=1.393167, normX=0.539283, eps=1.192093e-06
resid=28358.013672
2 U N N 4 3 4 2 0.00 75.5 1.00 -----
2 U N N 4 3 4 2 0.00 37.7 0.50 FAIL
3 U N N 4 3 4 1 0.00 0.0 1.00 -----
3 U N N 4 3 4 1 0.00 0.0 0.00 PASS
4 tests run, 2 passed
maybe the blas tester trusted_test get the wrong result
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.