Before posting this as a github issue, I wanted to confirm that this is not some problem with my computer.
The following happens for me, but only on mac (macOs Mojave 10.14.6, MacBook Pro (15-inch, 2016), 2,9 GHz Intel Core i7) with julia 1.6.1, only with MKL (installed using MKL.jl v0.4.1) and with the default setting of multithreaded MKL (i.e. it disappears with LinearAlgebra.BLAS.set_num_threads(1)
).
Consider the following code
using LinearAlgebra
using Random
Random.seed!(111134)
B = randn(Float64, (144, 144))
eigvals(B)
D = 4
T = Float64
Q = randn(T, (D,D))
x = one(Q)
y = similar(x)
Threads.@threads for k = 0:0
mul!(y, Q', x)
end
The result in y
is correctly computed. However, now running
eigvals(B)
again, this call either hangs or produces completely inconsistent and incorrect results. Removing the @threads
call surrounding mul!
, this problem disappears.
Is there anyone that can reproduce this on a similar configuration (definitely no linux, no OpenBLAS, these all work fine)
Is there some known conflict between Julia threading (note that Threads.nthreads() == 1
, so it should be off) and MKL threading on Mac?