GithubHelp home page GithubHelp logo

xianyi / blas-tester Goto Github PK

View Code? Open in Web Editor NEW
33.0 33.0 14.0 293 KB

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

C 34.23% Makefile 2.22% Fortran 63.55%

blas-tester's People

Contributors

xianyi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

blas-tester's Issues

Not passing in some tests

Hi!

I just compiled OpenBLAS and it's not passing in 2 tests of the BLAS-Tester

This is the Makefile.rule used to compile OpenBLAS

(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
#

This is the Makefile.rule used to compile BLAS-Tester:

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

And these are the outputs from xdl3blastst.exe and xzl3blastst.exe, in which I didn't pass:

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

How to use Blas-tester to test MKL

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

blas test failed for openblas tbsv

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.