Cpu_target of standard Windows 64-bit download

By default, build_sysimg() uses cpu_target="native"

I can override this (for example to use cpu_target="x86_64")

include(joinpath(JULIA_HOME, Base.DATAROOTDIR, "julia", "build_sysimg.jl"))
build_sysimg(nothing, "x86_64", nothing, force=true)

What value of cpu_target produces the equivalent of the standard 64-bit Windows binary download?
from Download Julia

1 Like

I believe both x86_64 and generic are common minimal targets.

I get this for one machine:

'x86_64' is not a recognized processor for this target (ignoring processor)

core2 seems to work, Iā€™ll also try generic.

There are really 2 reasons for my original question:

  1. To find a common minimal 64-bit target (core2 seems to work for my Intel and AMD processors)

  2. Iā€™d like to know what the Windows 64-bit download uses so that I can benchmark against it

Ah, sorry, the cpu name should be x86-64. You can also use help to get the complete list of options supported by your build. (./julia -C help)

2 Likes

I am using the julia-0.5.1 option:
-C, --cpu-target <target> Limit usage of cpu features up to <target> inside BuildExecutable.jl

turns out that compiling in Windows10 (with Intel(R) Coreā„¢ i7-5500U CPU @ 2.40GHz) with cpu_target "core2", "x86-64", "generic"

seem to cause:

LLVM ERROR: Program used external function 'rint' which could not be resolved!

in a Windows Server 2012 R2 (Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz)

Yes, compiling in one machine and running in another.

"generic" also causes:

WARNING: unable to determine host cpu name

Moreover, compiling with "native" works locally in both machines.

this issue is related to https://github.com/dhoegh/BuildExecutable.jl/issues/47

I can compile for Windows Server 2012 R2 (IntelĀ® XeonĀ® CPU E5-2670 v2 @ 2.50GHz) using the target:

"core-avx-i"

Is there something that includes both: "core-avx-i" and "core2" ?

What do you mean by ā€œincludes bothā€? Compatible with or including features in or sth else?

I meant a target which would work on both processor architectures.

Iā€™d also like to know how the standard 64-bit Windows binary download (from Download Julia) is compiled. i.e. What value of cpu_target is used?

Just core2

generic

1 Like

Thanks for the help.

But with:

I get:

and it does not happen with

"core-avx-i" and "native"

This is really strangeā€¦