82
82
83
83
# our tests, written in C, defined in subdirectories in `test/`
84
84
dgemm = (" dgemm_test" , (" ||C||^2 is: 24.3384" ,), true )
85
+ dgemmt = (" dgemmt_test" , (" ||C||^2 is: 24.3384" ,), true )
85
86
sgesv = (" sgesv_test" , (" ||b||^2 is: 3.0000" ,), true )
86
87
sgesv_failure = (" sgesv_test" , (" Error: no BLAS/LAPACK library loaded!" ,), false )
87
88
sdot = (" sdot_test" , (" C is: 1.9900" ,), true )
@@ -91,7 +92,7 @@ zdotc = ("zdotc_test", (
91
92
), true )
92
93
93
94
# Helper function to run all the tests with the given arguments
94
- function run_all_tests (args... ; tests = [dgemm, sgesv, sdot, zdotc])
95
+ function run_all_tests (args... ; tests = [dgemm, dgemmt, sgesv, sdot, zdotc])
95
96
for test in tests
96
97
run_test (test, args... )
97
98
end
@@ -104,13 +105,13 @@ if Sys.WORD_SIZE == 64
104
105
end
105
106
openblas_jll_libname = splitext (basename (OpenBLAS_jll. libopenblas_path)[4 : end ])[1 ]
106
107
@testset " Vanilla OpenBLAS_jll ($(openblas_interface) )" begin
107
- run_all_tests (openblas_jll_libname, OpenBLAS_jll. LIBPATH_list, openblas_interface, " " )
108
+ run_all_tests (openblas_jll_libname, OpenBLAS_jll. LIBPATH_list, openblas_interface, " " , tests = [dgemm, sgesv, sdot, zdotc] )
108
109
end
109
110
110
111
# Build version that links against vanilla OpenBLAS32
111
112
@testset " Vanilla OpenBLAS32_jll (LP64)" begin
112
113
# Reverse OpenBLAS32_jll's LIBPATH_list so that we get the right openblas.so
113
- run_all_tests (" openblas" , reverse (OpenBLAS32_jll. LIBPATH_list), :LP64 , " " )
114
+ run_all_tests (" openblas" , reverse (OpenBLAS32_jll. LIBPATH_list), :LP64 , " " , tests = [dgemm, sgesv, sdot, zdotc] )
114
115
end
115
116
116
117
# Next, build a version that links against `libblastrampoline`, and tell
@@ -120,13 +121,13 @@ lbt_dir = joinpath(lbt_dir, binlib)
120
121
121
122
@testset " LBT -> OpenBLAS_jll ($(openblas_interface) )" begin
122
123
libdirs = unique (vcat (lbt_dir, OpenBLAS_jll. LIBPATH_list... , CompilerSupportLibraries_jll. LIBPATH_list... ))
123
- run_all_tests (" blastrampoline" , libdirs, openblas_interface, OpenBLAS_jll. libopenblas_path)
124
+ run_all_tests (" blastrampoline" , libdirs, openblas_interface, OpenBLAS_jll. libopenblas_path, tests = [dgemm, sgesv, sdot, zdotc] )
124
125
end
125
126
126
127
# And again, but this time with OpenBLAS32_jll
127
128
@testset " LBT -> OpenBLAS32_jll (LP64)" begin
128
129
libdirs = unique (vcat (lbt_dir, OpenBLAS32_jll. LIBPATH_list... , CompilerSupportLibraries_jll. LIBPATH_list... ))
129
- run_all_tests (" blastrampoline" , libdirs, :LP64 , OpenBLAS32_jll. libopenblas_path)
130
+ run_all_tests (" blastrampoline" , libdirs, :LP64 , OpenBLAS32_jll. libopenblas_path, tests = [dgemm, sgesv, sdot, zdotc] )
130
131
end
131
132
132
133
# Test against MKL_jll using `libmkl_rt`, which is :LP64 by default
@@ -157,10 +158,10 @@ if dlopen_e(veclib_blas_path) != C_NULL
157
158
run_all_tests (" blastrampoline" , [lbt_dir], :LP64 , veclib_blas_path; tests= [dgemm, sdot, zdotc])
158
159
end
159
160
160
- # With LAPACK as well, run all tests
161
+ # With LAPACK as well, run all tests except `dgemmt`
161
162
veclib_lapack_path = " /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/libLAPACK.dylib"
162
163
@testset " LBT -> vecLib/libLAPACK" begin
163
- run_all_tests (" blastrampoline" , [lbt_dir], :LP64 , string (veclib_blas_path, " ;" , veclib_lapack_path))
164
+ run_all_tests (" blastrampoline" , [lbt_dir], :LP64 , string (veclib_blas_path, " ;" , veclib_lapack_path), tests = [dgemm, sgesv, sdot, zdotc] )
164
165
end
165
166
end
166
167
0 commit comments