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