Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[openblas] make testall - error in spawn.jl #6728

Closed
svaksha opened this issue May 3, 2014 · 9 comments
Closed

[openblas] make testall - error in spawn.jl #6728

svaksha opened this issue May 3, 2014 · 9 comments

Comments

@svaksha
Copy link

svaksha commented May 3, 2014

On Ubuntu 14.04 LTS, running commit 1651d99 gives the same bug as discussed in this thread: https://groups.google.com/d/msg/julia-dev/cgsX-J_hvXg/QVaZa9qyttEJ

Output of:

  1. $ cat /proc/cpuinfo: https://dpaste.de/80MS
  2. $ cat deps/openblas-v0.2.8/Makefile.conf: https://dpaste.de/UnQ6
  3. ~/julia$ make testall: https://dpaste.de/zO8a
  4. CPU B950: http://en.wikipedia.org/wiki/List_of_Intel_Pentium_microprocessors#Sandy_Bridge_based_Pentiums_2
  5. julia> versioninfo()
    Julia Version 0.3.0-prerelease+2841
    Commit 1651d99* (2014-04-30 17:12 UTC)
    Platform Info:
    System: Linux (i686-linux-gnu)
    CPU: Intel(R) Pentium(R) CPU B950 @ 2.10GHz
    WORD_SIZE: 32
    BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY)
    LAPACK: libopenblas
    LIBM: libopenlibm
  6. julia> readall($(joinpath(JULIA_HOME,"julia")) -f -e 'println(STDERR,"Hello World")' .> cat)
    "OpenBLAS : Your OS does not support AVX instructions. OpenBLAS is using Nehalem kernels as a fallback, which may give poorer performance.\nHello World\n"
  7. $ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description: Ubuntu 14.04 LTS
    Release: 14.04
    Codename: trusty
  8. Kernel version
    $ uname -r
    3.13.0-24-generic
  9. Related (closed) Bug#5077 (OpenBLAS wrongly disables AVX #5077)
    cc @xianyi
@ihnorton
Copy link
Member

ihnorton commented May 3, 2014

Could you try openblas 0.2.9-rc2?

@svaksha
Copy link
Author

svaksha commented May 3, 2014

@ihnorton,

  1. Compiled the openblas commit: (OpenMathLib/OpenBLAS@020f36f) and here is the tail result for it: https://dpaste.de/ohn5
  2. Pulled the latest Julia version and ran make testall again: https://dpaste.de/CkhG
  3. julia> versioninfo()
    Julia Version 0.3.0-prerelease+2850
    Commit ff015b6* (2014-05-03 06:34 UTC)
    Platform Info:
    System: Linux (i686-linux-gnu)
    CPU: Intel(R) Pentium(R) CPU B950 @ 2.10GHz
    WORD_SIZE: 32
    BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY)
    LAPACK: libopenblas
    LIBM: libopenlibm

Anything else that I should try? Thanks.

@ihnorton
Copy link
Member

ihnorton commented May 3, 2014

Sorry, I left out some information: you can tell the Julia build system to use that version by creating a file julia/Make.user with the contents

override OPENBLAS_VER = v0.2.9.rc2

I'm not sure if OpenBLAS does the processor detection at runtime or compile time, so it might be worth doing make -C deps clean-openblas after you create the Make.user above, and then run make from the base Julia directory to make sure any necessary configure steps are run.

If that still doesn't resolve the issue then hopefully someone who knows OpenBLAS will comment!

@tkelman
Copy link
Contributor

tkelman commented May 3, 2014

It looks like rc2 should make that warning go away by default (unless OPENBLAS_VERBOSE env var is set), see OpenMathLib/OpenBLAS#338

Setting OPENBLAS_DYNAMIC_ARCH to 0 might also make the warning go away, but you won't be able to use the compiled binary on any other machine if you do that.

@svaksha
Copy link
Author

svaksha commented May 3, 2014

On Sat, May 3, 2014 at 10:57 PM, Isaiah [email protected] wrote:

Sorry, I left out some information: you can tell the Julia build system to
use that version by creating a file julia/Make.user with the contents

override OPENBLAS_VER = v0.2.9.rc2

​Done.​

I'm not sure if OpenBLAS does the processor detection at runtime or
compile time, so it might be worth doing make -C deps clean-openblasafter you create the
Make.user above,

​~/julia$ make -C deps clean-openblas
make: Entering directory /home/mom/julia/deps' make -C openblas-v0.2.9.rc2 clean make: Entering an unknown directory make: *** openblas-v0.2.9.rc2: No such file or directory. Stop. make: Leaving an unknown directory make: [clean-openblas] Error 2 (ignored) make: Leaving directory/home/mom/julia/deps'

and then run make from the base Julia directory to make sure any
necessary configure steps are run.

​ END OF TESTS
OK.

OpenBLAS build complete. (BLAS CBLAS LAPACK LAPACKE)

OS ... Linux
Architecture ... x86
BINARY ... 32bit
C compiler ... GCC (command line : gcc)
Fortran compiler ... GFORTRAN (command line : gfortran)
Library Name ... libopenblasp-r0.2.9.rc2.a (Multi threaded; Max
num-threads is 8)

To install the library, you can run "make PREFIX=/path/to/your/installation
install".

If that still doesn't resolve the issue then hopefully someone who knows
OpenBLAS will comment!

​I think it solved the AVX issue partly, because I didnt see the earlier
"testall" error​

​messages, rather this is the new issue upon running testall:

From worker 3:         * lineedit
From worker 3:         * replcompletions
From worker 3:         * unicode
From worker 2:         * parallel

julia: src/unix/core.c:764: uv__io_stop: Assertion `loop->watchers[w->fd]
== w' failed.
SUCCESS

​Any ideas on why the core.c fails? TIA.​

@svaksha
Copy link
Author

svaksha commented May 3, 2014

On Sat, May 3, 2014 at 11:22 PM, Tony Kelman [email protected]:

It looks like rc2 should make that warning go away by default (unless
OPENBLAS_VERBOSE env var is set), see OpenMathLib/OpenBLAS#338OpenMathLib/OpenBLAS#338

Setting OPENBLAS_DYNAMIC_ARCH to 0 might also make the warning go away,
but you won't be able to use the compiled binary on any other machine.

ATM, the error message has gone (see my reply to Isaiah) but yeah, I agree
with the comments on 338, that its more of an annoyance than a bug that
breaks Julia stuff.

@ihnorton
Copy link
Member

ihnorton commented May 3, 2014

Cool, thanks.

Not sure about the latest error.. You could try make cleanall && make in case there is some stale files, will take a couple minutes to rebuild a few dependencies (smaller ones, not LLVM).

@svaksha
Copy link
Author

svaksha commented May 3, 2014

On Sun, May 4, 2014 at 12:12 AM, Isaiah [email protected] wrote:

make cleanall && make

​Thanks Isaiah, other than this​ warning below, I didnt see the earlier
errors.

​ CC src/gc.o
LINK usr/lib/libjulia.so
/home/mom/julia/usr/lib/libunwind.a(Los-linux.o): In function
`_ULx86_local_resume':
Los-linux.c:(.text+0x75b): warning: sigreturn is not implemented and will
always fail

​Thanks for all the help :)​

@ihnorton
Copy link
Member

ihnorton commented May 3, 2014

I think we have several open issues for which the resolution is "upgrade openblas", so we can probably close this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants