Le vendredi 05 février 2016 à 18:24 -0800, Pavel a écrit :
> I tried this approach using a local machine with
> product: Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz
> which in my understanding belongs to the "haswell" type.
> 
> setting
>     build_sysimg(joinpath(dirname(Libdl.dlpath("libjulia")),"sys"),
> "haswell", "/home/juser/jimg.jl", force=true)
> 
> resulted in 
>     'haswell' is not a recognized processor for this target (ignoring
> processor)
Have you looked at the output of llc -mattr=help (or usr/bin/llc
-mattr=help from the Julia install/build directory)? If this is with
LLVM 3.3, then it doesn't look like it supported "haswell" as a target.
You should be able to specify "core-avx2" instead.

> On the other hand, setting "native" instead, after deploying on
> GCloud haswell-zone says that the image was precompiled for a
> different architecture.
By definition, "native" isn't intended to be portable, so it doesn't
sound unexpected.


Regards


> On Friday, February 5, 2016 at 1:01:37 AM UTC-8, Milan Bouchet-Valat
> wrote:
> > Le jeudi 04 février 2016 à 17:17 -0800, Pavel a écrit : 
> > > I am deploying a CPU-intensive application on Google Cloud
> > Compute 
> > > with Julia code running inside a Docker container. GCloud
> > instances 
> > > have a few different CPU architectures depending on the zone. 
> > > Ideally, I would like to pre-compile Julia images (i.e.
> > different 
> > > docker container images) for all of those architectures. 
> > > 
> > > Currently the following runs on container launch: 
> > > 
> > >     include(joinpath(JULIA_HOME, Base.DATAROOTDIR, "julia", 
> > > "build_sysimg.jl")) 
> > >    
> > build_sysimg(joinpath(dirname(Libdl.dlpath("libjulia")),"sys"), 
> > > "native", "/home/juser/jimg.jl", force=true) 
> > > 
> > > so that the "native" setting pre-compiles for the CPU that these 
> > > commands are running on. That takes time and having that done at
> > the 
> > > container image build time would save cloud runtime. 
> > > 
> > > Would it be possible to pre-compile for different CPUs on my 
> > > development machine or do I need to run the pre-compilation on
> > those 
> > > exact CPUs? If the former is possible, what build_sysimg
> > arguments 
> > > would help? GCloud virtual machine architectures of interest
> > include 
> > > Sandy Bridge, Ivy Bridge, and Haswell CPU types. 
> > You should be able to build images for older architectures on a
> > machine 
> > with a newer one, i.e. build images for Sandy Bridge and Ivy Bridge
> > on 
> > a Haswell machine. I don't think it would work in the other
> > direction, 
> > since some instructions wouldn't be supported and the code
> > wouldn't 
> > run. 
> > 
> > So in your case you could replace "native" with "sandybridge", 
> > "ivybridge", "haswell", or any value from the list printed by 
> > llc -mattr=help. 
> > 
> > 
> > Regards 

Reply via email to