Cpu_target of standard Windows 64-bit download


#1

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 http://julialang.org/downloads/


#2

I believe both x86_64 and generic are common minimal targets.


#3

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


#4

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)


#5

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® 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® Xeon® 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


#6

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" ?


#7

What do you mean by “includes both”? Compatible with or including features in or sth else?


#8

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


#9

I’d also like to know how the standard 64-bit Windows binary download (from http://julialang.org/downloads) is compiled. i.e. What value of cpu_target is used?


#10

Just core2

generic


#11

Thanks for the help.

But with:

I get:

and it does not happen with

"core-avx-i" and "native"

This is really strange…