Hi! thanks for that, very helpful. So do I have to do anything to build a CPU-specific binary after I get this PR? Do i understand this correctly that i shoudl set MARCH=native now, and julia will figure out at runtime - i.e. when I use it on whatever architecture - which are the best settings for that machine? That sounds quite amazing.
On 24 August 2014 15:05, Valentin Churavy <[email protected]> wrote: > 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}. >> >> >> >> >>
