if you set MARCH=native, julia (and all dependencies) will compile to only be runnable on the current machine (or other identical CPUs).
what kind of code are you running? if you are doing large linear algebra operations, OPENBLAS_USE_THREAD=0 could be a likely culprit. I thought the i5 Mac's were mostly dual or quad core. Any of the processors list in the link above should work, so you can pick any newer processor whose feature set is compatible with all of your machines, such as nehalem or corei7-avx (sandybridge) On Sun, Aug 24, 2014 at 10:50 AM, Florian Oswald <[email protected]> wrote: > 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}. >>> >>> >>> >>> >>> >
