I think this is broken again: I'm observing single-threaded failures (i.e., the last line of the sample code fails when the addprocs(8) line is not commented out) on both a somewhat recent OS X home-brew build and also the current --HEAD home-brew build right now. I am using the standard 64-bit openblas, arpack, and suite-sparse from @staticfloat's home-brew setup (i.e., compiled without the --HEAD option). If it helps, here is my versioninfo():
*julia> **versioninfo()* Julia Version 0.4.0-prerelease+52 Commit daa3f82* (2014-08-12 03:33 UTC) Platform Info: System: Darwin (x86_64-apple-darwin13.3.0) CPU: Intel(R) Core(TM) i7-4578U CPU @ 3.00GHz WORD_SIZE: 64 BLAS: libopenblas (USE64BITINT NO_AFFINITY) LAPACK: libopenblas LIBM: libopenlibm LLVM: libLLVM-3.3 -thom On Friday, July 18, 2014 4:34:06 PM UTC-5, Viral Shah wrote: > > This is now fixed now on master by using a new openblas release that fixes > the bug. You can get the fix in tomorrow's nightly. Thanks for reporting! > > -viral > > On Thursday, July 10, 2014 4:20:07 AM UTC+5:30, Thomas Covert wrote: >> >> I have found cholfact to behave differently (erroneously?) under parallel >> processing contexts than under standard settings. What I mean by "parallel >> processing" is simply having previously called addprocs(). Here is some >> example code that I am running on my mid-2009 MacBook Pro using a somewhat >> recent brew of @staticfloat's homebrew distribution: >> >> addprocs(8) >> >> N = 1000 >> >> x = 10 * randn(N) >> >> X = zeros(N,N) >> >> >> for i = 1:N >> >> for j = 1:N >> >> X[i,j] = exp(-.5 * (x[i]-x[j])^2) >> >> end >> >> end >> >> >> X = X + diagm(.5 * ones(N)) >> >> >> C = cholfact(X) >> >> iC = inv(C) >> >> CiC = cholfact(iC) >> >> I believe this code generates an X which is positive definite by >> construction. >> >> If I run this code as-is, I get the following error (or something >> similar, the PosDefException sometimes changes): >> >> *ERROR: PosDefException(12)* >> >> * in cholfact! at linalg/factorization.jl:36* >> >> * in cholfact at linalg/factorization.jl:39* >> >> *while loading /Users/tcovert/path_to_code.jl, in expression starting on >> line 16* >> >> However, if I comment out the "addprocs(8)" line, everything works fine. >> Also, for smaller values of N the problem goes away (N=100,200 is fine, >> N=400 is not). Here is my versioninfo() if that helps: >> >> *julia> **versioninfo()* >> >> Julia Version 0.3.0-prerelease+3868 >> >> Commit e7a9a7d* (2014-06-24 19:39 UTC) >> >> Platform Info: >> >> System: Darwin (x86_64-apple-darwin13.2.0) >> >> CPU: Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz >> >> WORD_SIZE: 64 >> >> BLAS: libopenblas (USE64BITINT NO_AFFINITY) >> >> LAPACK: libopenblas >> >> LIBM: libopenlibm >> >>