JuliaGPU / OpenCL.jl

OpenCL Julia bindings

Home Page:https://juliagpu.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OpenCL test error

davidbp opened this issue · comments

I have installed OpenCL.jl but the tests are not passed...
Has anyone with an Apple computer succesfully used the package?

julia> Pkg.test("OpenCL")
INFO: Testing OpenCL
Test Summary: | Pass  Total
layout        |    2      2
Test Summary:   | Pass  Total
OpenCL.Platform |   13     13
Test Summary:  | Pass  Total
OpenCL.Context |   41     41
Test Summary: | Pass  Total
OpenCL.Device |   81     81
WARNING: Platform Apple does not seem to suport out of order queues: 
CLError(code=-30, CL_INVALID_VALUE)
Test Summary:   | Pass  ERROR (unhandled task failure): OpenCL Error: OpenCL.Context error: 

Stacktrace:
 [1] raise_context_error(::String, ::String) at /Users/davidbuchaca1/.julia/v0.6/OpenCL/src/context.jl:109
 [2] macro expansion at /Users/davidbuchaca1/.julia/v0.6/OpenCL/src/context.jl:148 [inlined]
 [3] (::OpenCL.cl.##43#44)() at ./task.jl:335
Total
OpenCL.CmdQueue |   41     41
Test Summary: | Pass  Total
OpenCL.Minver |   15     15
Test Callback
Test Callback
Test Summary: | Pass  Total
OpenCL.Event  |   32     32
OpenCL.Program binaries: Test Failed
  Expression: prg2[:binaries] == binaries
   Evaluated: Dict{OpenCL.cl.Device,Array{UInt8,N} where N}() == Dict{OpenCL.cl.Device,Array{UInt8,N} where N}(Pair{OpenCL.cl.Device,Array{UInt8,N} where N}(OpenCL.Device(Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz on Apple @0x00000000ffffffff), UInt8[0x62, 0x70, 0x6c, 0x69, 0x73, 0x74, 0x30, 0x30, 0xd4, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x5f, 0x10, 0x0f, 0x63, 0x6c, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5c, 0x63, 0x6c, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x10, 0x11, 0x63, 0x6c, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5e, 0x63, 0x6c, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x11, 0x01, 0x02, 0x4f, 0x11, 0x10, 0x6c, 0xcf, 0xfa, 0xed, 0xfe, 0x07, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x38, 0x01, 0x00, 0x00, 0x5f, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, ... many 0x00... 0x00, 0x44, 0x00, 0x53, 0x00, 0x56, 0x10, 0xc6, 0x10, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xee]))
Stacktrace:
 [1] macro expansion at /Users/davidbuchaca1/.julia/v0.6/OpenCL/test/test_program.jl:86 [inlined]
 [2] macro expansion at ./test.jl:860 [inlined]
 [3] macro expansion at /Users/davidbuchaca1/.julia/v0.6/OpenCL/test/test_program.jl:75 [inlined]
 [4] macro expansion at ./test.jl:860 [inlined]
 [5] anonymous at ./<missing>:?
OpenCL.Program binaries: Test Failed
  Expression: prg2[:binaries] == binaries
   Evaluated: Dict{OpenCL.cl.Device,Array{UInt8,N} where N}() == Dict{OpenCL.cl.Device,Array{UInt8,N} where N}(Pair{OpenCL.cl.Device,Array{UInt8,N} where N}(OpenCL.Device(AMD Radeon Pro 580 Compute Engine on Apple @0x0000000001021c00), UInt8[0x62, 0x70, 0x6c, 0x69, 0x73, 0x74, 0x30, 0x30, 0xd4, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x5f, 0x10, 0x0f, 0x63, 0x6c, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5c, 0x63, 0x6c, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x10, 0x11, 0x63, 0x6c, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5e, 0x63, 0x6c, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x10, 0x00, 0x4f, 0x11, 0x35, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  .... may 0x00 ,.... 0xf6]))
Stacktrace:
 [1] macro expansion at /Users/davidbuchaca1/.julia/v0.6/OpenCL/test/test_program.jl:86 [inlined]
 [2] macro expansion at ./test.jl:860 [inlined]
 [3] macro expansion at /Users/davidbuchaca1/.julia/v0.6/OpenCL/test/test_program.jl:75 [inlined]
 [4] macro expansion at ./test.jl:860 [inlined]
 [5] anonymous at ./<missing>:?
Test Summary:                       | Pass  Fail  Total
OpenCL.Program                      |   42     2     44
  OpenCL.Program source constructor |    2            2
  OpenCL.Program info               |   16           16
  OpenCL.Program build              |    8            8
  OpenCL.Program source code        |    2            2
  OpenCL.Program binaries           |   14     2     16
ERROR: LoadError: LoadError: Some tests did not pass: 42 passed, 2 failed, 0 errored, 0 broken.
while loading /Users/davidbuchaca1/.julia/v0.6/OpenCL/test/test_program.jl, in expression starting on line 1
while loading /Users/davidbuchaca1/.julia/v0.6/OpenCL/test/runtests.jl, in expression starting on line 30
======================================================================[ ERROR: OpenCL ]=======================================================================

failed process: Process(`/Applications/Julia-0.6.app/Contents/Resources/julia/bin/julia -Cnative -J/Applications/Julia-0.6.app/Contents/Resources/julia/lib/julia/sys.dylib --compile=yes --depwarn=yes --check-bounds=yes --code-coverage=none --color=yes --compilecache=yes /Users/davidbuchaca1/.julia/v0.6/OpenCL/test/runtests.jl`, ProcessExited(1)) [1]

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

WARNING: unknown IssueReporter commit 5f686e74, metadata may be ahead of package cache
INFO: No packages to install, update or remove
ERROR: OpenCL had test errors

About the Julia version:

julia> versioninfo()
Julia Version 0.6.2
Commit d386e40c17 (2017-12-13 18:08 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin14.5.0)
  CPU: Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Prescott)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, broadwell)

any comments on the failure of this test? Is this an OpenCL api issue?

Most likely a problem with Apple's implementation... but it might be wortwhile investigating why one can't query binaries and if it is indeed a limitation on Apple selectivly disabling this test should be okay.

Since apple is deprecating OpenCL in mojave and it won't even be included in the next operating system, is there a way download software from intel/AMD so that we could future-proof this?
OSX seems to be pretty Unix like. Maybe it's feasible.

What about sharing a docker image with OpenCL ?

I don't have access to a Mac so I can't really advise/provide solutions here. But a docker image might work, getting access to the underlying hardware is tricky.

I just updated OpenCL for julia 0.6 and Pkg.test still fails some tests but the vector addition code form the main page works.

Test Summary:                       | Pass  Fail  Total
OpenCL.Program                      |   63     3     66
  OpenCL.Program source constructor |    3            3
  OpenCL.Program info               |   24           24
  OpenCL.Program build              |   12           12
  OpenCL.Program source code        |    3            3
  OpenCL.Program binaries           |   21     3     24
ERROR: LoadError: LoadError: Some tests did not pass: 63 passed, 3 failed, 0 errored, 0 broken.
while loading /Users/david.buchaca/.julia/v0.6/OpenCL/test/test_program.jl, in expression starting on line 1
while loading /Users/david.buchaca/.julia/v0.6/OpenCL/test/runtests.jl, in expression starting on line 30

Yes, these failing tests are not critical to everyday usage of OpenCL.jl