Julia: parallella board multicore installation of JULIA

Created on 21 Apr 2017  Â·  22Comments  Â·  Source: JuliaLang/julia

Is Julia compatible with this board ( Armv7 ) + 16 epiphany cores? I tried several times without success.
Is ther any straitfull procedure which can helP? It take a lot of time with a simple make -p 16 e.g. and make install but at end no command like julia.sh or other comes out while all the library like BLAS seems to have been installed
thank you
F 2009

Most helpful comment

What is hopeless?

  • You can run julia on the board, on the same ARM core that all other programs run on
  • You can use the epiphany cores as accelerator, which is also how all other programs use it
  • If you want to compile a subset of julia code to the epiphany cores, that'll be very similar to what JuliaGPU are doing by compiling julia code to run with CUDA or OpenCL/SPIR(-V). That requires hooking up the epiphany SDK to the compiler which will likely be harder than CUDA/SPIR-V since there isn't a (in-tree) LLVM backend for it.
  • If you want to run normal programs on the epiphany cores. That'll be an epiphany issue since that's not how the chip are designed to do or at least now how the tool chains are currently set up for.

All 22 comments

What happens if you run ./julia in the folder where you ran make?

I have also a

ERROR system image file
:/opt/julia-0.6..pre.beta/user/bin/../lib/julia/sys.so not found

but it exist with permission denied to anyone

On 21.04.2017 12:34, Kristoffer Carlsson wrote:
>

What happens if you run |./julia| in the folder where you ran |make|?

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/JuliaLang/julia/issues/21471#issuecomment-296156553,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALdFFpqDMhKr4bl5Q9MNa43oppMMiqDXks5ryIYagaJpZM4NEGtC.

Did you set the environment variable JULIA_HOME ? If so, don't do that. Also, please use discourse.julialang.org for questions.

no command exist. I found julia in sub folder usr/bin and usr/lib but
nothing append when trying to run ./julia

On 21.04.2017 12:34, Kristoffer Carlsson wrote:
>

What happens if you run |./julia| in the folder where you ran |make|?

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/JuliaLang/julia/issues/21471#issuecomment-296156553,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALdFFpqDMhKr4bl5Q9MNa43oppMMiqDXks5ryIYagaJpZM4NEGtC.

no I did not set the variable JULIA_HOME

it seems that the sys.so is not found but why ?

On 21.04.2017 12:56, Tony Kelman wrote:
>

Did you set the environment variable |JULIA_HOME| ? If so, don't do
that. Also, please use discourse.julialang.org for questions.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/JuliaLang/julia/issues/21471#issuecomment-296161123,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALdFFuyoAtj4fi62QnMm2hSsEkqJddXeks5ryItSgaJpZM4NEGtC.

when running the command I get

./julia -p 4

ERROR: System image file
"/opt/julia-0.6.0-pre.beta/usr/bin/../lib/julia/sys.so" not found.

and with

dir /opt/julia-0.6.0-pre.beta/usr/lib/julia
inference.ji sys.o

it means that this file is at a wrong location?

On 21.04.2017 12:34, Kristoffer Carlsson wrote:
>

What happens if you run |./julia| in the folder where you ran |make|?

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/JuliaLang/julia/issues/21471#issuecomment-296156553,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALdFFpqDMhKr4bl5Q9MNa43oppMMiqDXks5ryIYagaJpZM4NEGtC.

That sounds like make may have failed?

when running the command I get

./julia -p 4

ERROR: System image file
"/opt/julia-0.6.0-pre.beta/usr/bin/../lib/julia/sys.so" not found.

and with

dir /opt/julia-0.6.0-pre.beta/usr/lib/julia
inference.ji sys.o

it means that this file is at a wrong location?

On 21.04.2017 13:36, Tony Kelman wrote:
>

That sounds like |make| may have failed?

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/JuliaLang/julia/issues/21471#issuecomment-296168191,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALdFFmcJQeY-0Lgpunf2wIWPc-nv00Dxks5ryJS5gaJpZM4NEGtC.

I don't think @ViralBShah ever got Julia running on ARMv7, it was ARMv8 and higher, IIRC.

No. Requiring armv8 is almost equivalent with 64bit only.

We support building on v6+, which is what the rpi package is built for. The tests passes and the nightly builldbots are setup for v7. 32bit shouldn't be all that useful since usually 64bit is better.

It looks like the step to link sys.o to sys.so failed?

do you suggest a way to proceed? I wanted to have julia working on my
adapteva desktop parallela board . Its accepts linux or ubuntu os I
thought it might be possible to install it and have the 16 epiphany
cores working within julia it should be great

why i'm hanged like that its too bad....!!!

On 21.04.2017 19:41, Jeff Bezanson wrote:
>

It looks like the step to link |sys.o| to |sys.so| failed?

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/JuliaLang/julia/issues/21471#issuecomment-296256582,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALdFFk4l5f4CSBDp4p5cm7ljRxM8b1XDks5ryOpggaJpZM4NEGtC.

You can just use the ARMv7 binary

Do note that julia will only be able to use the two ARM cores and not the Epiphany-III. I don't think the chip is somthing that LLVM supports and since it's a totally different ISA you'll need to use it like an accelerator (GPU) rather than anothe thread. You should be able to ccall into their SDK though.

so its hopeless?

On 21.04.2017 22:25, Yichao Yu wrote:
>

Do note that julia will only be able to use the two ARM cores and not
the Epiphany-III. I don't think the chip is somthing that LLVM
supports and since it's a totally different ISA you'll need to use it
like an accelerator (GPU) rather than anothe thread. You should be
able to ccall into their SDK though.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/JuliaLang/julia/issues/21471#issuecomment-296297451,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALdFFkFiFYILeX-xP5y8UQsK0fDgR7d5ks5ryRDFgaJpZM4NEGtC.

What is hopeless?

  • You can run julia on the board, on the same ARM core that all other programs run on
  • You can use the epiphany cores as accelerator, which is also how all other programs use it
  • If you want to compile a subset of julia code to the epiphany cores, that'll be very similar to what JuliaGPU are doing by compiling julia code to run with CUDA or OpenCL/SPIR(-V). That requires hooking up the epiphany SDK to the compiler which will likely be harder than CUDA/SPIR-V since there isn't a (in-tree) LLVM backend for it.
  • If you want to run normal programs on the epiphany cores. That'll be an epiphany issue since that's not how the chip are designed to do or at least now how the tool chains are currently set up for.

ok I tried the arm7vl version which work only for one proc but very
slow. Please let me know when epiphany cores will be available for
julia.. at the moment as I wanted to used the 16 cores it seems hopeless
and not usefull to run julia on this kind of board.

regards

Frederic

On 21.04.2017 22:40, Yichao Yu wrote:
>

What is hopeless?

  • You can run julia on the board, on the same ARM core that all
    other programs run on
  • You can use the epiphany cores as accelerator, which is also how
    all other programs use it
  • If you want to compile a subset of julia code to the epiphany
    cores, that'll be very similar to what JuliaGPU are doing by
    compiling julia code to run with CUDA or OpenCL/SPIR(-V). That
    requires hooking up the epiphany SDK to the compiler which will
    likely be harder than CUDA/SPIR-V since there isn't a (in-tree)
    LLVM backend for it.
  • If you want to run programs on the epiphany cores. That'll be an
    epiphany issue since that's not how the chip are designed to do or
    at least now how the tool chains are currently set up for.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/JuliaLang/julia/issues/21471#issuecomment-296300444,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALdFFpoSm8BMabmhOsxirCI7XGfFd-KNks5ryRQmgaJpZM4NEGtC.

FWIW, the 16 cores are even slower if you run any single threaded code on them. As said, this is a epiphany issue.

@Fred2009: The most useful course of action you can take here is to provide clear feedback to Adapteva that it's critical to you and other Parallella users/customers that they provide first-class, supported LLVM backends for all of their architectures. Without this, no LLVM-based projects will work on their architectures; with it, everything from Clang to Julia to Rust will work.

Do note that epiphany is still fundamentally an accelerator (it doesn't run the kernel) afaict so running clang/julia/rust on it as we know it is unlikely to happen in the near future before this changes. That said, if they have better LLVM / OpenCL 2.1 / SPIR-V support it'll indeed be easier for LLVM based projects to provide deeper binding.

Last I asked them [1] they had no plans to support LLVM but were willing to help out a bit. Never got around to look into it though. FYI these kinds of open ended questions are a better fit for discourse.julialang.org.

[1] https://news.ycombinator.com/item?id=12651066

Was this page helpful?
0 / 5 - 0 ratings

Related issues

musm picture musm  Â·  3Comments

StefanKarpinski picture StefanKarpinski  Â·  3Comments

felixrehren picture felixrehren  Â·  3Comments

wilburtownsend picture wilburtownsend  Â·  3Comments

yurivish picture yurivish  Â·  3Comments