Hej, so from what I gather if you set JULIA_CPU_TARGET=core2, Julia restricts itself to the cpu features defined here: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86.td?view=markup Currently the only supported and tested options are i386, core2 and native, whereas native tries to detect the available features of your cpu and uses all of them, leading to better performance on more advanced architectures.
The problem is that if you compile with target set to native you can't deploy your binaries to different machines with different processors. There is currently a PR that might help in that regard. https://github.com/JuliaLang/julia/pull/8074 The idea would be to build Julia with core2 and on each cluster node regenerate the sysimage with target=native. Best Valentin On Sunday, 24 August 2014 14:37:03 UTC+2, Florian Oswald wrote: > > Hi! > > I'm running julia release 0.3 on an hpc system that features two 6-core > 2.4GHz Intel Westmere processors (a total of 12 processor cores) per node. > I noticed my program is significantly slower on that machine than on my > mac, where I run this on 1 core (2.4GHz Intel Core i5). (runtime is 60 secs > vs 90 secs) > > I would expect the hpc cores to be slightly slower but was surprised it > was that much. I was wondering if any of the options I set to build this > are culprit for this? I do run the binary of release 0.3 on my mac, whereas > I build from source with those options on the hpc: > > OPENBLAS_TARGET_ARCH=NEHALEM > OPENBLAS_DYNAMIC_ARCH = 0 > OPENBLAS_USE_THREAD=0 > JULIA_CPU_TARGET=core2 > > I can build julia without the final option. I cannot build it without the > first three options. > > I cannot run multiple nodes without the final option, since I get an error > > Target architecture mismatch. Please delete or regenerate > sys.{so,dll,dylib}. > > > > >
