AMD64 Multi-CPU Compile Flags

question

#1

I blew away the previous install of Julia 0.6.0-dev and are redoing 0.5 as per the instructions:

$ cd /../git
$ git clone git://github.com/JuliaLang/julia.git
... git gits some stuff
$ cd julia
$ git checkout release-0.5
... changed origin to master release-0.5

Compile options for Multi-CPU AMD:

"Set one of the following build options in Make.user and build again:

    OPENBLAS_TARGET_ARCH=BARCELONA (AMD CPUs)"

Edit Make.user:

$ cp Make.inc Make.user && vim Make.user

Modify ARCH_flags:

12 # OPENBLAS build options
  13 OPENBLAS_TARGET_ARCH:=

… becomes

12 # OPENBLAS build options
  13 OPENBLAS_TARGET_ARCH:=BARCELONA

Save/exit Make.user

$ make

Compile fails with error message … too many pipes open, install GNU tar or bsdtar

Eveytime I compile trying to use Multi-CPU flags for AMD CPUs, release-0.5 fails. Is this a common issue? Have searched through this site and can find no other direct/indirect install match.

For the time being, I killed the Make.user, reran $ make but I would like a Mult-core build of Julia to best use this system and increase my learning.

Comments welcome.

TIA. JNA.

Edit: changed “multi-core” to “multi-cpu”


#2

Does the build fail without the flag? Also what do you mean by “multi-core AMD” anyway…

You create Make.user or edit Make.inc. You don’t copy Make.inc into Make.user.


#3

No, it compiles using default settings.

Hmm perhaps I should say “multi-CPU” ?

Ahhh, well the instructions were not really clear. I read it as you make a Make.user, set the flags and the system will look for a Make.user and compile with that.

My bad.

Edit to above question also.


#4

Still, what do you mean by that. The README you linked does not mention anything about “multi-CPU” or “multi-core”. It’s about workaround compile failure.


#5

OK, I see your point. I was thinking think in terms of “multi-CPU” not “CPU-type” and failed to see the distinction. Ah well, at least it got my Topic Created rate up :sunglasses:

Maybe I should have tried this first:

You can also set MARCH=native for a maximum-performance build customized for the current machine CPU.

Thanks for your comments.


#6

MARCH=native should also be the default.


#7

Noted.