AB

You're speaking of Stampede, if I might guess from the "austin" prefix in
your email address. I would treat the old and the new section of the
machines as separate, since they are not binary compatible. If you are
really interested in the KNL part, then I'd concentrate on these, and use
the development mode to always log in, build on, and run on the KNL nodes,
and ignore everything else. Mixing different architectures in a single
Julia environment is something I'd tackle much later, if at all.

Alternatively you can use "haswell" as CPU architecture (instead of "core2"
above), which should work both on the front end as well as the KNL nodes.
However, this way you will lose speed on the KNL nodes, except for linear
algebra operations.

-erik


On Thu, Oct 13, 2016 at 2:26 PM, ABB <austinb...@gmail.com> wrote:

> This is great - thanks for getting back to me so quickly.
>
> To follow up, I have two small questions:
>
> - To build specifically for the KNL system I should include something like
> "JULIA_CPU_TARGET = knl" in the Make.user file?
>
> - Part of the system is KNL, part of it is "Intel Xeon E5 Sandy Bridge
> and the Intel Knights Corner (KNC) coprocessor"  (the exact system is
> this one: https://portal.tacc.utexas.edu/user-guides/stampede ).  Is
> there a way to build for both of the architectures?  I think I read in
> another issue somewhere that it wasn't possible to support the Knights
> Corner because of (if I recall correctly) lack of LLVM support or something
> (maybe I am completely making that up) so if it's not possible I wouldn't
> be surprised.  (The two sections of Stampede run different versions of
> Linux too, if that makes it even more complicated.  I'd just be happy to
> get it running one way or the other.)
>
> Thanks again!
>
> AB
>
>
> On Thursday, October 13, 2016 at 1:10:48 PM UTC-5, Erik Schnetter wrote:
>>
>> AB
>>
>> Using "core2" is a fallback that will work on very old machines. In your
>> case -- if this happens to be a more modern, uniform HPC system -- you
>> might want to use a different architecture. For example, if you're building
>> on the compute nodes, and never run on the front end, then the default
>> should already work for you. Otherwise, choosing "knl" as architecture
>> should also work (and would also make it impossible to run on the front
>> end).
>>
>> -erik
>>
>>
>> On Thu, Oct 13, 2016 at 1:18 PM, ABB <austi...@gmail.com> wrote:
>>
>>> I built Julia Version 0.5.1-pre+2 on a cluster I have access to.
>>>
>>> The login node on which I executed the build has this architecture:
>>>
>>> Intel Core i7-5000 Extreme Edition (Haswell R2) / Xeon E5-x600 v3
>>> (Haswell-EP C1/M1/R2), 22nm
>>>
>>> The compute node has this architecture:
>>>
>>> Intel Xeon Phi Coprocessor (Knights Landing), 14nm
>>>
>>> (Those are each the last line of the output of "cpuid")
>>>
>>> when I try to run anything, I get the error:
>>>
>>> ERROR: Target architecture mismatch. Please delete or regenerate
>>> sys.{so,dll,dylib}.
>>>
>>> I found this old discussion:
>>>
>>> https://groups.google.com/forum/#!msg/julia-dev/Eqp0GhZWxME/3mGKX1l_L9gJ
>>>
>>> which recommends using
>>>
>>> JULIA_CPU_TARGET = core2
>>>
>>> in the Make.user file.
>>>
>>> Since that discussion is 2 years old, I am just double checking to see
>>> if that's still the best advice or if there is something else I should try
>>> first and/or instead.
>>>
>>> Thanks!
>>>
>>> AB
>>>
>>
>>
>>
>> --
>> Erik Schnetter <schn...@gmail.com> http://www.perimeterinstitute.
>> ca/personal/eschnetter/
>>
>


-- 
Erik Schnetter <schnet...@gmail.com>
http://www.perimeterinstitute.ca/personal/eschnetter/

Reply via email to