On another, slightly older system, I noticed similar (approximately identical) timings for the simd.jl test script using Julia 0.5: julia> include("/Users/rob/Projects/Julia/Rob/Julia/simd.jl") Julia Version 0.5.0-dev+720 Commit 5920633* (2015-10-11 15:15 UTC) Platform Info: System: Darwin (x86_64-apple-darwin15.0.0) CPU: Intel(R) Core(TM) i7-3720QM CPU @ 2.60GHz WORD_SIZE: 64 BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge) LAPACK: libopenblas64_ LIBM: libopenlibm LLVM: libLLVM-3.3 First call to timeit(1000,1000): GFlop = 0.6092165323090373 GFlop (SIMD) = 0.4607065672339039 Second call to timeit(1000,1000): GFlop = 0.5935117884795207 GFlop (SIMD) = 0.42286883095163036 On that same system Julia 0.4 (installed from the Julia site) did show improved Gflop numbers and about a 6x improvement with simd. To see if that would help with Julia 0.5, I did (in the cloned julia directory, in a terminal): git pull https://github.com/JuliaLang/julia master make -j 4 Lots of compile messages/warnings, but in the end: clang: error: linker command failed with exit code 1 (use -v to see invocation) make[3]: *** [libopenblas64_p-r0.2.15.dylib] Error 1 make[2]: *** [shared] Error 2 *** Clean the OpenBLAS build with 'make -C deps clean-openblas'. Rebuild with 'make OPENBLAS_USE_THREAD=0 if OpenBLAS had trouble linking libpthread.so, and with 'make OPENBLAS_TARGET_ARCH=NEHALEM' if there were errors building SandyBridge support. Both these options can also be used simultaneously. *** make[1]: *** [build/openblas/libopenblas64_.dylib] Error 1 make: *** [julia-deps] Error 2 I tried: brew update brew upgrade make -C deps clean-openblas make -j 4 and running the simd.jl script now shows: julia> include("/Users/rob/Projects/Julia/Rob/Julia/simd.jl") Julia Version 0.5.0-dev+1195 Commit 68667a3* (2015-11-08 21:05 UTC) Platform Info: System: Darwin (x86_64-apple-darwin15.0.0) CPU: Intel(R) Core(TM) i7-3720QM CPU @ 2.60GHz WORD_SIZE: 64 BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge) LAPACK: libopenblas64_ LIBM: libopenlibm LLVM: libLLVM-3.3 First call to timeit(1000,1000): GFlop = 1.4006308441321973 GFlop (SIMD) = 13.561988458747821 Second call to timeit(1000,1000): GFlop = 2.300048186009497 GFlop (SIMD) = 12.84397777991844 Not sure if this helps or is even the right way to remedy this. Regards, Rob |
simd.jl
Description: Binary data
|