IntelLabs / ParallelAccelerator.jl

The ParallelAccelerator package, part of the High Performance Scripting project at Intel Labs
BSD 2-Clause "Simplified" License
294 stars 32 forks source link

libj2carray not compiled #94

Closed ulneva closed 8 years ago

ulneva commented 8 years ago

I am trying to install ParallelAccelerator with Julia 0.4.5 on OS X 10.11.5. The running Pkg.test("ParallelAccelerator") I am getting the following error. What is the issue and what can I do about it? Thanks!

RROR: LoadError: LoadError: LoadError: libj2carray not compiled, build with: julia -e 'Pkg.build("ParallelAccelerator")' in error at /Applications/Julia-0.4.5.app/Contents/Resources/julia/lib/julia/sys.dylib in include at /Applications/Julia-0.4.5.app/Contents/Resources/julia/lib/julia/sys.dylib in include_from_node1 at /Applications/Julia-0.4.5.app/Contents/Resources/julia/lib/julia/sys.dylib in include at /Applications/Julia-0.4.5.app/Contents/Resources/julia/lib/julia/sys.dylib in include_from_node1 at /Applications/Julia-0.4.5.app/Contents/Resources/julia/lib/julia/sys.dylib in require at /Applications/Julia-0.4.5.app/Contents/Resources/julia/lib/julia/sys.dylib in include at /Applications/Julia-0.4.5.app/Contents/Resources/julia/lib/julia/sys.dylib in include_from_node1 at /Applications/Julia-0.4.5.app/Contents/Resources/julia/lib/julia/sys.dylib in process_options at /Applications/Julia-0.4.5.app/Contents/Resources/julia/lib/julia/sys.dylib in _start at /Applications/Julia-0.4.5.app/Contents/Resources/julia/lib/julia/sys.dylib while loading /Users/nevskaya/.julia/v0.4/ParallelAccelerator/src/j2c-array.jl, in expression starting on line 37 while loading /Users/nevskaya/.julia/v0.4/ParallelAccelerator/src/ParallelAccelerator.jl, in expression starting on line 257 while loading /Users/nevskaya/.julia/v0.4/ParallelAccelerator/test/runtests.jl, in expression starting on line 26 =========================[ ERROR: ParallelAccelerator ]=========================

failed process: Process(/Applications/Julia-0.4.5.app/Contents/Resources/julia/bin/julia --check-bounds=yes --code-coverage=none --color=yes /Users/nevskaya/.julia/v0.4/ParallelAccelerator/test/runtests.jl, ProcessExited(1)) [1]

ERROR: ParallelAccelerator had test errors in error at /Applications/Julia-0.4.5.app/Contents/Resources/julia/lib/julia/sys.dylib in test at pkg/entry.jl:803 in anonymous at pkg/dir.jl:31 in cd at file.jl:22 in cd at pkg/dir.jl:31 in test at pkg.jl:71

lkuper commented 8 years ago

@ulneva What happens when you run julia -e 'Pkg.build("ParallelAccelerator")'?

ulneva commented 8 years ago

When I run the line 'Pkg.build("ParallelAccelerator")' I get the following (below) with the screen popping out that says that I need to install X11. There is a "continue" button that leads to the page https://support.apple.com/en-us/HT201341. I do have X11 installed though. After giving the message bellow Julia returns to a regular prompt. Thank you!

_julia> _Pkg.build("ParallelAccelerator")

INFO: Building Homebrew

HEAD is now at f0b70e5 update: fix hyphen counting (legacy tap renaming)

HEAD is now at c377b50 Merge pull request #92 from staticfloat/staging

INFO: Building Cairo

INFO: Building Tk

_julia> _2016-05-27 16:27:13.015 X11[26680:714960] Failed to connect (primary_text_field_cell) outlet from (AppDelegate) to (NSTextFieldCell): missing setter or instance variable

Regards, Yulia

On Fri, May 27, 2016 at 4:16 PM, Lindsey Kuper notifications@github.com wrote:

@ulneva https://github.com/ulneva What happens when you run julia -e 'Pkg.build("ParallelAccelerator")?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/IntelLabs/ParallelAccelerator.jl/issues/94#issuecomment-222254866, or mute the thread https://github.com/notifications/unsubscribe/AOSume_OwLKDHYMBqFTUyIUSfhsZmxbYks5qF18agaJpZM4Io3jb .

merl-dev commented 8 years ago

same issue on Ubuntu, but succeeded after installing all Cairo dependencies manually...it would appear that the Cairo install is aborting prematurely

lkuper commented 8 years ago

I suspect that @merl-dev is correct and that this is an issue with Cairo or Tk dependencies. I think it's the same issue described here. There are many search results for the error "Failed to connect (primary_text_field_cell) outlet from (AppDelegate) to (NSTextFieldCell): missing setter or instance variable". On OS X, I believe you would need to install XQuartz from here.

ulneva commented 8 years ago

Great, thanks a lot! Installing Quartz did help finishing the build of Tk and allowed me to build ParallelAccelerator. However, there was an error related to ImageMagick during the build which I show below. Running _Pkg.status("ParallelAccelerator") shows package as installed. Next I ran _Pkg.test("ParallelAccelerator") and it gave me many warnings of the type below (are they concerning?). Also, it says that neither MKL nor OpenBLAS are found (where do I get those?) and OpenMP is not used. The last thing I did was running 'using ParallelAccelerator' and then tried to define *@acc f(x) = x.+x._x, but got _ERROR: UndefVarError: @acc not defined. What can be wrong here? Many thanks!

_julia> _Pkg.build("ParallelAccelerator")

INFO: Building Homebrew

HEAD is now at f0b70e5 update: fix hyphen counting (legacy tap renaming)

HEAD is now at c377b50 Merge pull request #92 from staticfloat/staging

INFO: Building Cairo

INFO: Building Tk

INFO: Building ImageMagick

==>* Installing imagemagick from staticfloat/juliadeps*

Error: You must brew link libtool before staticfloat/juliadeps/imagemagick can be installed

=============================[ ERROR: ImageMagick ]=============================

LoadError: failed process: Process(/Users/nevskaya/.julia/v0.4/Homebrew/deps/usr/bin/brew install --force-bottle staticfloat/juliadeps/imagemagick, ProcessExited(1)) [1]

while loading /Users/nevskaya/.julia/v0.4/ImageMagick/deps/build.jl, in expression starting on line 94

================================================================================

INFO: Building ParallelAccelerator

ParallelAccelerator: build.jl begin.

ParallelAccelerator: Building j2c-array shared library

No BLAS installation detected (optional)

Using g++ to build ParallelAccelerator array runtime.

ParallelAccelerator: build.jl done.

===================================[ BUILD ERRORS ]===================================

WARNING: ImageMagick had build errors.

======================================================================================

_julia> _Pkg.status("ParallelAccelerator")

Partical output from the Pkg.test("ParallelAccelerator"):

_/var/folders/c9/pf8j_7xd0732v2xhg655f_700000gn/T/tmpdvpa5v/cgen_output54.cpp:269:9: _warning:

GenSym2.stop;

~~~ ^~~~

_/var/folders/c9/pf8j_7xd0732v2xhg655f_700000gn/T/tmpdvpa5v/cgen_output54.cpp:468:9: _warning:

GenSym2.stop;

~~~ ^~~~

2 warnings generated.

Done testing logistic regression...

testing gemv...

WARNING: MKL and OpenBLAS not found. Matrix-vector multiplication might be slow.

    Please install MKL or OpenBLAS and rebuild ParallelAccelerator for

better performance.

OpenMP is not used.

WARNING: MKL and OpenBLAS not found. Matrix-vector multiplication might be slow.

    Please install MKL or OpenBLAS and rebuild ParallelAccelerator for

better performance.

OpenMP is not used.

Done testing gemv.

testing transpose...

OpenMP is not used.

Done testing transpose.

iterations = 10000000

OpenMP is not used.

SELFPRIMED 1.688990812

checksum: 2.0954821257116845e8

rate = 8.196022701310894e6 opts/sec

SELFTIMED 1.22010399

points= 10000000

OpenMP is not used.

SELFPRIMED 1.191100477

pi = 3.141918

SELFTIMED 0.207356698

nframes = 2

filenames = Union{ASCIIString,UTF8String}["small_001.dat","small_002.dat"]

checksums = Float32[80751.35f0,80818.02f0]

Image size: 584x388

OpenMP is not used.

Regards, Yulia

On Fri, May 27, 2016 at 4:47 PM, Lindsey Kuper notifications@github.com wrote:

I suspect that @merl-dev https://github.com/merl-dev is correct and that this is an issue with Cairo or Tk dependencies. I think it's the same issue described here https://github.com/timholy/ImageView.jl/issues/85. There are many search results for the error "Failed to connect (primary_text_field_cell) outlet from (AppDelegate) to (NSTextFieldCell): missing setter or instance variable". On OS X, I believe you would need to install X11 or XQuartz.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/IntelLabs/ParallelAccelerator.jl/issues/94#issuecomment-222260481, or mute the thread https://github.com/notifications/unsubscribe/AOSumfOZmfkmxNCHys9MNz-SExWMgyMPks5qF2ZXgaJpZM4Io3jb .

lkuper commented 8 years ago

@ulneva The ImageMagick issue is unrelated to ParallelAccelerator and shouldn't be a problem, although you might want to run Pkg.build("ImageMagick") to try to resolve it.

For ParallelAccelerator, it looks like you are now up and running, but for better performance you should install a BLAS library (OpenBLAS and MKL are examples of that -- you only need one of them). You can also optionally choose to install OpenMP. OpenBLAS and OpenMP can both be installed via Homebrew. Try brew install homebrew/science/openblas and brew install gcc --without-multilib (or brew reinstall gcc --without-multilib since you already have GCC).

I'm not sure why you got the @acc not defined error. Now that you've installed ParallelAccelerator, does this still happen when you open a new Julia REPL session?

lkuper commented 8 years ago

@IntelLabs/team-hps Even though they're not essential prerequisites for ParallelAccelerator, we should probably put something in our docs explaining how to install OpenBLAS/MKL and OpenMP on various OSes, since we seem to get these kinds of questions a lot.

merl-dev commented 8 years ago

@IntelLabs/team-hps: +1 on that. I recently had to do some work in R and was impressed at how easy it was to get MKL integrated through the open source MRO version...click and run. Would be nice if we could smooth out a similar path for Julia users.

ulneva commented 8 years ago

Thanks a lot for all your help! In the new session of Julia I do not get the @acc error. However, the package still does not see openBLAS and does not use OpenMP. I commented in the related thread. Thanks again!

Regards, Yulia

On Fri, May 27, 2016 at 7:16 PM, Yaakov Borstein notifications@github.com wrote:

@IntelLabs/team-hps: +1 on that. I recently had to do some work in R and was impressed at how easy it was to get MKL integrated through the open source MRO version...click and run. Would be nice if we could smooth out a similar path for Julia users.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/IntelLabs/ParallelAccelerator.jl/issues/94#issuecomment-222278521, or mute the thread https://github.com/notifications/unsubscribe/AOSumRlnVLK11iOGt3WXtJVbsGDIzFyoks5qF4l1gaJpZM4Io3jb .

lkuper commented 8 years ago

Since the original issue with getting ParallelAccelerator to build is now resolved (the answer being "install XQuartz"), let's move the discussion about OpenBLAS/OpenMP over to issue #61.