Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Oct 2016 16:12:46 +0000
From:      bugzilla-noreply@freebsd.org
To:        x11@FreeBSD.org
Subject:   [Bug 213732] lang/beignet: crashes with some OpenCL apps
Message-ID:  <bug-213732-7141@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D213732

            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@FreeBSD.org
          Reporter: jbeich@FreeBSD.org
                CC: mmacy@nextbsd.org
          Assignee: x11@FreeBSD.org
             Flags: maintainer-feedback?(x11@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 iss=
ue
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.j=
pg
  $ 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=
=3D8
     1: Intel(R) HD Graphics Skylake Desktop GT2     (OpenCL    ): num_core=
=3D24
     2: pthread                                      (OpenCL    ): num_core=
=3D8
  Nothing to output !

or from under linuxulator

  $ waifu2x-converter-cpp --list-processor
     0: GeForce GT 640                               (CUDA      ): num_core=
=3D2
     1: GeForce GT 640                               (OpenCL    ): num_core=
=3D2
     2: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz     (FMA       ): num_core=
=3D8

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 =3D tail call float @_Z14__gen_ocl_fmaxff(float %add807, fl=
oat
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 =3D tail call float @_Z14__gen_ocl_fminff(float %add807, fl=
oat
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 =3D tail call float @_Z14__gen_ocl_fmaxff(float %add818, fl=
oat
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 =3D tail call float @_Z14__gen_ocl_fminff(float %add818, fl=
oat
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 =3D tail call float @_Z14__gen_ocl_fmaxff(float %add831, fl=
oat
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 =3D tail call float @_Z14__gen_ocl_fminff(float %add831, fl=
oat
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 =3D tail call float @_Z14__gen_ocl_fmaxff(float %add844, fl=
oat
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 =3D tail call float @_Z14__gen_ocl_fminff(float %add844, fl=
oat
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 =3D tail call float @_Z14__gen_ocl_fmaxff(float %add857, fl=
oat
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 =3D tail call float @_Z14__gen_ocl_fminff(float %add857, fl=
oat
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 =3D tail call float @_Z14__gen_ocl_fmaxff(float %add870, fl=
oat
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 =3D tail call float @_Z14__gen_ocl_fminff(float %add870, fl=
oat
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 =3D tail call float @_Z14__gen_ocl_fmaxff(float %add883, fl=
oat
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 =3D tail call float @_Z14__gen_ocl_fminff(float %add883, fl=
oat
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 =3D tail call float @_Z14__gen_ocl_fmaxff(float %add896, fl=
oat
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 =3D tail call float @_Z14__gen_ocl_fminff(float %add896, fl=
oat
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=3D0 -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 (Audi=
o:
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 tb=
n,
59.94 tbc
      Stream #0:1[0x102](und): Audio: aac ([15][0][0][0] / 0x000F), 0 chann=
els,
fltp
  [libx264 @ 0x80ac18d00] using SAR=3D1/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.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-213732-7141>