That's because the default configured maximum is 16 cores. Look for `NUM_THREADS` in deps/Makefile. The reason we keep this low is because openblas allocates NUM_THREADS buffers on startup, and it makes julia consume a lot of memory.
See: https://github.com/xianyi/OpenBLAS/issues/321 You can change this value in deps/Makefile. We could even make this a top-level make configuration parameter. Perhaps the right way to do this is to compile with a large number, like 256, but set OPENBLAS_NUM_THREADS to a conservative value to prevent unnecessary allocation. -viral On Thursday, April 9, 2015 at 11:37:31 PM UTC+5:30, Chris Rackauckas wrote: > > Hello, > I am new to Julia and am trying to get it to use multi-threaded BLAS via > openBLAS on an HPC node. I compiled it on the HPC and in Julia I check > > julia> versioninfo() > Julia Version 0.3.8-pre+2 > Commit af187c5 (2015-03-25 14:33 UTC) > Platform Info: > System: Linux (x86_64-unknown-linux-gnu) > CPU: AMD Opteron(tm) Processor 6376 > WORD_SIZE: 64 > BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Piledriver) > LAPACK: libopenblas > LIBM: libopenlibm > LLVM: libLLVM-3.3 > > I then run a simple test > > A = rand(40000,40000); > B = rand(40000,40000); > A*B; > > In another window I used htop to check the performance and see that it is > using (and maxing) 16/64 cores on the node. I also tried increasing the > number of BLAS threads > > blas_set_num_threads(64) > > Is there some compilation command I have to use to make it use more than > 16 cores? Something else? Or am I the only one with this issue and should > contact the HPC techs? Other programs I run using the the setup are able to > use all 64 cores. >