@@ -94,14 +94,14 @@ dpstrf = ("dpstrf_test", ("diag(A): 2.2601 1.8067 1.6970 0.4121",
94
94
sgesv = (" sgesv_test" , (" ||b||^2 is: 3.0000" ,), true )
95
95
sgesv_failure = (" sgesv_test" , (" Error: no BLAS/LAPACK library loaded!" ,), false )
96
96
sdot = (" sdot_test" , (" C is: 1.9900" ,), true )
97
- zdotc = (" zdotc_test " , (
97
+ cdotc = (" cdotc_test " , (
98
98
" C (cblas) is: ( 1.4700, 3.8300)" ,
99
99
" C (fortran) is: ( 1.4700, 3.8300)" ,
100
100
), true )
101
101
102
102
# Helper function to run all the tests with the given arguments
103
103
# Does not include `dgemmt` because that's MKL-only
104
- function run_all_tests (args... ; tests = [dgemm, dpstrf, sgesv, sdot, zdotc ])
104
+ function run_all_tests (args... ; tests = [dgemm, dpstrf, sgesv, sdot, cdotc ])
105
105
for test in tests
106
106
run_test (test, args... )
107
107
end
@@ -133,10 +133,14 @@ lbt_dir = joinpath(lbt_dir, binlib)
133
133
run_all_tests (blastrampoline_link_name (), libdirs, openblas_interface, OpenBLAS_jll. libopenblas_path)
134
134
135
135
# Test that setting bad `LBT_FORCE_*` values actually breaks things
136
+ # This can be somewhat unpredictable (segfaulting sometimes, returning zero other times)
137
+ # so it's hard to test on CI, so we comment it out for now.
138
+ #=
136
139
withenv("LBT_FORCE_RETSTYLE" => "ARGUMENT") do
137
- zdotc_fail = (" zdotc_test " , [ ], false )
138
- run_test (zdotc_fail , blastrampoline_link_name (), libdirs, openblas_interface, OpenBLAS_jll. libopenblas_path)
140
+ cdotc_fail = ("cdotc_test ", cdotc[2 ], false)
141
+ run_test(cdotc_fail , blastrampoline_link_name(), libdirs, openblas_interface, OpenBLAS_jll.libopenblas_path)
139
142
end
143
+ =#
140
144
end
141
145
142
146
# And again, but this time with OpenBLAS32_jll
@@ -156,15 +160,15 @@ end
156
160
if MKL_jll. is_available ()
157
161
@testset " LBT -> MKL_jll (LP64)" begin
158
162
libdirs = unique (vcat (lbt_dir, MKL_jll. LIBPATH_list... , CompilerSupportLibraries_jll. LIBPATH_list... ))
159
- run_all_tests (blastrampoline_link_name (), libdirs, :LP64 , MKL_jll. libmkl_rt_path; tests = [dgemm, dgemmt, dpstrf, sgesv, sdot, zdotc ])
163
+ run_all_tests (blastrampoline_link_name (), libdirs, :LP64 , MKL_jll. libmkl_rt_path; tests = [dgemm, dgemmt, dpstrf, sgesv, sdot, cdotc ])
160
164
end
161
165
162
166
# Test that we can set MKL's interface via an environment variable to select ILP64, and LBT detects it properly
163
167
if Sys. WORD_SIZE == 64
164
168
@testset " LBT -> MKL_jll (ILP64, via env)" begin
165
169
withenv (" MKL_INTERFACE_LAYER" => " ILP64" ) do
166
170
libdirs = unique (vcat (lbt_dir, MKL_jll. LIBPATH_list... , CompilerSupportLibraries_jll. LIBPATH_list... ))
167
- run_all_tests (blastrampoline_link_name (), libdirs, :ILP64 , MKL_jll. libmkl_rt_path; tests = [dgemm, dgemmt, dpstrf, sgesv, sdot, zdotc ])
171
+ run_all_tests (blastrampoline_link_name (), libdirs, :ILP64 , MKL_jll. libmkl_rt_path; tests = [dgemm, dgemmt, dpstrf, sgesv, sdot, cdotc ])
168
172
end
169
173
end
170
174
end
@@ -177,7 +181,7 @@ veclib_blas_path = "/System/Library/Frameworks/Accelerate.framework/Versions/A/F
177
181
if dlopen_e (veclib_blas_path) != C_NULL
178
182
# Test that we can run BLAS-only tests without LAPACK loaded (`sgesv` test requires LAPACK symbols)
179
183
@testset " LBT -> vecLib/libBLAS" begin
180
- run_all_tests (blastrampoline_link_name (), [lbt_dir], :LP64 , veclib_blas_path; tests= [dgemm, sdot, zdotc ])
184
+ run_all_tests (blastrampoline_link_name (), [lbt_dir], :LP64 , veclib_blas_path; tests= [dgemm, sdot, cdotc ])
181
185
end
182
186
183
187
# With LAPACK as well, run all tests except `dgemmt`
@@ -190,14 +194,14 @@ if dlopen_e(veclib_blas_path) != C_NULL
190
194
if dlsym_e (veclib_lapack_handle, " dpotrf\$ NEWLAPACK\$ ILP64" ) != C_NULL
191
195
@testset " LBT -> vecLib/libBLAS (ILP64)" begin
192
196
veclib_blas_path_ilp64 = " $(veclib_blas_path) !\x 1a\$ NEWLAPACK\$ ILP64"
193
- run_all_tests (blastrampoline_link_name (), [lbt_dir], :ILP64 , veclib_blas_path_ilp64; tests= [dgemm, sdot, zdotc ])
197
+ run_all_tests (blastrampoline_link_name (), [lbt_dir], :ILP64 , veclib_blas_path_ilp64; tests= [dgemm, sdot, cdotc ])
194
198
end
195
199
196
200
@testset " LBT -> vecLib/libLAPACK (ILP64)" begin
197
201
veclib_lapack_path_ilp64 = " $(veclib_lapack_path) !\x 1a\$ NEWLAPACK\$ ILP64"
198
202
@warn (" dpstrf test broken on new LAPACK in Accelerate" )
199
203
dpstrf_broken = (dpstrf[1 ], " diag(A): 2.2601 1.7140 0.6206 1.1878" , true )
200
- run_all_tests (blastrampoline_link_name (), [lbt_dir], :ILP64 , veclib_lapack_path_ilp64; tests= [dgemm, dpstrf_broken, sgesv, sdot, zdotc ])
204
+ run_all_tests (blastrampoline_link_name (), [lbt_dir], :ILP64 , veclib_lapack_path_ilp64; tests= [dgemm, dpstrf_broken, sgesv, sdot, cdotc ])
201
205
end
202
206
end
203
207
end
0 commit comments