[Bug 213732] lang/beignet: crashes with some OpenCL apps
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sun Oct 23 16:12:47 UTC 2016
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=213732
Bug ID: 213732
Summary: lang/beignet: crashes with some OpenCL apps
Product: Ports & Packages
Version: Latest
Hardware: Any
OS: Any
Status: New
Keywords: needs-qa
Severity: Affects Only Me
Priority: ---
Component: Individual Port(s)
Assignee: x11 at FreeBSD.org
Reporter: jbeich at FreeBSD.org
CC: mmacy at nextbsd.org
Assignee: x11 at FreeBSD.org
Flags: maintainer-feedback?(x11 at FreeBSD.org)
I'm using drm-next-4.7 (rebased) + xserver-next. Either Beignet or drm-next-4.7
appears to have partially broken OpenCL implementation. Not sure if the issue
affects the main tree but filing here for better visibility.
Let's prepare
$ pkg install -qy beignet pocl waifu2x-converter-cpp ffmpeg
$ fetch
https://github.com/nagadomi/waifu2x/raw/master/images/miku_CC_BY-NC_noisy.jpg
$ fetch
http://demo-uhd3d.com/files/uhd4k/Samsung_UHD_7Wonders_of_the_World_Italy.ts
clinfo is a bit too verbose, here's what a typical app only cares about.
$ waifu2x-converter-cpp --list-processor
0: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz (FMA ): num_core=8
1: Intel(R) HD Graphics Skylake Desktop GT2 (OpenCL ): num_core=24
2: pthread (OpenCL ): num_core=8
Nothing to output !
or from under linuxulator
$ waifu2x-converter-cpp --list-processor
0: GeForce GT 640 (CUDA ): num_core=2
1: GeForce GT 640 (OpenCL ): num_core=2
2: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz (FMA ): num_core=8
POCL is good to check OpenCL on FreeBSD isn't broken elsewhere.
$ waifu2x-converter-cpp --processor 2 -i miku_CC_BY-NC_noisy.jpg
OpenCL: pthread
start process block (0,0) ...
Iteration #1(3->32)...(50.0566[ms], 9.04946[GFLOPS], 0.733174[GB/s])
Iteration #2(32->32)...(143.36[ms], 33.7042[GFLOPS], 0.468114[GB/s])
Iteration #3(32->64)...(271.268[ms], 35.6241[GFLOPS], 0.371084[GB/s])
Iteration #4(64->64)...(671.44[ms], 28.7849[GFLOPS], 0.199895[GB/s])
[...]
$ waifu2x-converter-cpp --processor 1 -i miku_CC_BY-NC_noisy.jpg
Unresolved symbol: _Z14__gen_ocl_fmaxff
Aborting...
Caller instruction:
%call.i.630 = tail call float @_Z14__gen_ocl_fmaxff(float %add807, float
0.000000e+00) #6
Callee function:
; Function Attrs: nounwind readnone
declare spir_func float @_Z14__gen_ocl_fmaxff(float, float) #1
Unresolved symbol: _Z14__gen_ocl_fminff
Aborting...
Caller instruction:
%call.i.631 = tail call float @_Z14__gen_ocl_fminff(float %add807, float
0.000000e+00) #6
Callee function:
; Function Attrs: nounwind readnone
declare spir_func float @_Z14__gen_ocl_fminff(float, float) #1
Unresolved symbol: _Z14__gen_ocl_fmaxff
Aborting...
Caller instruction:
%call.i.632 = tail call float @_Z14__gen_ocl_fmaxff(float %add818, float
0.000000e+00) #6
Callee function:
; Function Attrs: nounwind readnone
declare spir_func float @_Z14__gen_ocl_fmaxff(float, float) #1
Unresolved symbol: _Z14__gen_ocl_fminff
Aborting...
Caller instruction:
%call.i.633 = tail call float @_Z14__gen_ocl_fminff(float %add818, float
0.000000e+00) #6
Callee function:
; Function Attrs: nounwind readnone
declare spir_func float @_Z14__gen_ocl_fminff(float, float) #1
Unresolved symbol: _Z14__gen_ocl_fmaxff
Aborting...
Caller instruction:
%call.i.634 = tail call float @_Z14__gen_ocl_fmaxff(float %add831, float
0.000000e+00) #6
Callee function:
; Function Attrs: nounwind readnone
declare spir_func float @_Z14__gen_ocl_fmaxff(float, float) #1
Unresolved symbol: _Z14__gen_ocl_fminff
Aborting...
Caller instruction:
%call.i.635 = tail call float @_Z14__gen_ocl_fminff(float %add831, float
0.000000e+00) #6
Callee function:
; Function Attrs: nounwind readnone
declare spir_func float @_Z14__gen_ocl_fminff(float, float) #1
Unresolved symbol: _Z14__gen_ocl_fmaxff
Aborting...
Caller instruction:
%call.i.636 = tail call float @_Z14__gen_ocl_fmaxff(float %add844, float
0.000000e+00) #6
Callee function:
; Function Attrs: nounwind readnone
declare spir_func float @_Z14__gen_ocl_fmaxff(float, float) #1
Unresolved symbol: _Z14__gen_ocl_fminff
Aborting...
Caller instruction:
%call.i.637 = tail call float @_Z14__gen_ocl_fminff(float %add844, float
0.000000e+00) #6
Callee function:
; Function Attrs: nounwind readnone
declare spir_func float @_Z14__gen_ocl_fminff(float, float) #1
Unresolved symbol: _Z14__gen_ocl_fmaxff
Aborting...
Caller instruction:
%call.i.638 = tail call float @_Z14__gen_ocl_fmaxff(float %add857, float
0.000000e+00) #6
Callee function:
; Function Attrs: nounwind readnone
declare spir_func float @_Z14__gen_ocl_fmaxff(float, float) #1
Unresolved symbol: _Z14__gen_ocl_fminff
Aborting...
Caller instruction:
%call.i.639 = tail call float @_Z14__gen_ocl_fminff(float %add857, float
0.000000e+00) #6
Callee function:
; Function Attrs: nounwind readnone
declare spir_func float @_Z14__gen_ocl_fminff(float, float) #1
Unresolved symbol: _Z14__gen_ocl_fmaxff
Aborting...
Caller instruction:
%call.i.640 = tail call float @_Z14__gen_ocl_fmaxff(float %add870, float
0.000000e+00) #6
Callee function:
; Function Attrs: nounwind readnone
declare spir_func float @_Z14__gen_ocl_fmaxff(float, float) #1
Unresolved symbol: _Z14__gen_ocl_fminff
Aborting...
Caller instruction:
%call.i.641 = tail call float @_Z14__gen_ocl_fminff(float %add870, float
0.000000e+00) #6
Callee function:
; Function Attrs: nounwind readnone
declare spir_func float @_Z14__gen_ocl_fminff(float, float) #1
Unresolved symbol: _Z14__gen_ocl_fmaxff
Aborting...
Caller instruction:
%call.i.642 = tail call float @_Z14__gen_ocl_fmaxff(float %add883, float
0.000000e+00) #6
Callee function:
; Function Attrs: nounwind readnone
declare spir_func float @_Z14__gen_ocl_fmaxff(float, float) #1
Unresolved symbol: _Z14__gen_ocl_fminff
Aborting...
Caller instruction:
%call.i.643 = tail call float @_Z14__gen_ocl_fminff(float %add883, float
0.000000e+00) #6
Callee function:
; Function Attrs: nounwind readnone
declare spir_func float @_Z14__gen_ocl_fminff(float, float) #1
Unresolved symbol: _Z14__gen_ocl_fmaxff
Aborting...
Caller instruction:
%call.i.644 = tail call float @_Z14__gen_ocl_fmaxff(float %add896, float
0.000000e+00) #6
Callee function:
; Function Attrs: nounwind readnone
declare spir_func float @_Z14__gen_ocl_fmaxff(float, float) #1
Unresolved symbol: _Z14__gen_ocl_fminff
Aborting...
Caller instruction:
%call.i.645 = tail call float @_Z14__gen_ocl_fminff(float %add896, float
0.000000e+00) #6
Callee function:
; Function Attrs: nounwind readnone
declare spir_func float @_Z14__gen_ocl_fminff(float, float) #1
Unresolved symbol: _Z14__gen_ocl_fmaxff
Aborting...
Unresolved symbol: _Z14__gen_ocl_fminff
Aborting...
Unresolved symbol: _Z14__gen_ocl_fmaxff
Aborting...
Unresolved symbol: _Z14__gen_ocl_fminff
Aborting...
Unresolved symbol: _Z14__gen_ocl_fmaxff
Aborting...
Unresolved symbol: _Z14__gen_ocl_fminff
Aborting...
Unresolved symbol: _Z14__gen_ocl_fmaxff
Aborting...
Unresolved symbol: _Z14__gen_ocl_fminff
Aborting...
Unresolved symbol: _Z14__gen_ocl_fmaxff
Aborting...
Unresolved symbol: _Z14__gen_ocl_fminff
Aborting...
Unresolved symbol: _Z14__gen_ocl_fmaxff
Aborting...
Unresolved symbol: _Z14__gen_ocl_fminff
Aborting...
Unresolved symbol: _Z14__gen_ocl_fmaxff
Aborting...
Unresolved symbol: _Z14__gen_ocl_fminff
Aborting...
Unresolved symbol: _Z14__gen_ocl_fmaxff
Aborting...
Unresolved symbol: _Z14__gen_ocl_fminff
Aborting...
$ pkg install -qy beignet ffmpeg
$ fetch
http://demo-uhd3d.com/files/uhd4k/Samsung_UHD_7Wonders_of_the_World_Italy.ts
$ ffmpeg -hide_banner -i /p/Samsung_UHD_7Wonders_of_the_World_Italy.ts
-x264opts opencl:opencl-device=0 -codec:v libx264 -y /tmp/a.mp4
[mpegts @ 0x80ac7a000] start time for stream 1 is not set in
estimate_timings_from_pts
[mpegts @ 0x80ac7a000] Could not find codec parameters for stream 1 (Audio:
aac ([15][0][0][0] / 0x000F), 0 channels, fltp): unspecified sample rate
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
Input #0, mpegts, from '/p/Samsung_UHD_7Wonders_of_the_World_Italy.ts':
Duration: 00:02:12.28, start: 1.050044, bitrate: 51922 kb/s
Program 1
Stream #0:0[0x101]: Video: hevc (Main 10) ([36][0][0][0] / 0x0024),
yuv420p10le(tv), 3840x2160 [SAR 1:1 DAR 16:9], 59.94 fps, 59.94 tbr, 90k tbn,
59.94 tbc
Stream #0:1[0x102](und): Audio: aac ([15][0][0][0] / 0x000F), 0 channels,
fltp
[libx264 @ 0x80ac18d00] using SAR=1/1
[libx264 @ 0x80ac18d00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 0x80ac18d00] OpenCL acceleration enabled with Intel Intel(R) HD
Graphics Skylake Desktop GT2
[libx264 @ 0x80ac18d00] Compiling OpenCL kernels...
Unresolved symbol: _Z23__gen_ocl_write_imageui11ocl_image2dDv2_iDv4_j
Aborting...
Unresolved symbol: _Z23__gen_ocl_write_imageui11ocl_image2dDv2_iDv4_j
Aborting...
While deleting: <4 x i32> %
Use still stuck around after Def is destroyed: tail call void
@_Z23__gen_ocl_write_imageui11ocl_image2dDv2_iDv4_j(%opencl.image2d_t.0
addrspace(1)* %fenc_img, <2 x i32> %vecinit6, <4 x i32> <badref>) #10
Assertion failed: (use_empty() && "Uses remain when a value is destroyed!"),
function ~Value, file
/usr/ports/devel/llvm37/work/llvm-3.7.1.src/lib/IR/Value.cpp, line 82.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-ports-bugs
mailing list