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

ASSERTION FAILED: sel.hasHalfType() #66

Open
matwey opened this issue Mar 29, 2020 · 7 comments
Open

ASSERTION FAILED: sel.hasHalfType() #66

matwey opened this issue Mar 29, 2020 · 7 comments

Comments

@matwey
Copy link

matwey commented Mar 29, 2020

Hello,

I am running clpeak from master with beignet 1.3.2 on openSUSE Leap 15.1. The same behavior with 3rd and 4th Intel CPU generations.


Platform: Intel Gen OCL Driver
  Device: Intel(R) HD Graphics IvyBridge GT1
    Driver version  : 1.3 (Linux x64)
    Compute units   : 6
    Clock frequency : 1000 MHz
ASSERTION FAILED: sel.hasHalfType()
  at file /home/abuild/rpmbuild/BUILD/Beignet-1.3.2-Source/backend/src/backend/gen_insn_selection.cpp, function void gbe::ConvertInstructionPattern::convert32bitsToSmall(gbe::Selection::Opaque&, const gbe::ir::ConvertInstruction&, bool&) const, line 5841
fish: './clpeak' terminated by signal SIGTRAP (Trace or breakpoint trap)

Platform: Intel Gen OCL Driver
  Device: Intel(R) HD Graphics Haswell GT2 Desktop
    Driver version  : 1.3 (Linux x64)
    Compute units   : 20
    Clock frequency : 1000 MHz
ASSERTION FAILED: sel.hasHalfType()
  at file /home/abuild/rpmbuild/BUILD/Beignet-1.3.2-Source/backend/src/backend/gen_insn_selection.cpp, function void gbe::ConvertInstructionPattern::convert32bitsToSmall(gbe::Selection::Opaque&, const gbe::ir::ConvertInstruction&, bool&) const, line 5841
Trace/breakpoint trap (core dumped)

When gdb is uses to trap the fault:

(gdb) bt
#0  0x00007fffec274e2d in ?? () from /usr/lib64/beignet//libgbe.so
#1  0x00007fffec3afcb1 in ?? () from /usr/lib64/beignet//libgbe.so
#2  0x00007fffec390105 in ?? () from /usr/lib64/beignet//libgbe.so
#3  0x00007fffec390701 in ?? () from /usr/lib64/beignet//libgbe.so
#4  0x00007fffec3914cd in ?? () from /usr/lib64/beignet//libgbe.so
#5  0x00007fffec44334b in ?? () from /usr/lib64/beignet//libgbe.so
#6  0x00007fffec2d3532 in ?? () from /usr/lib64/beignet//libgbe.so
#7  0x00007fffec45aa4e in ?? () from /usr/lib64/beignet//libgbe.so
#8  0x00007fffec2d70fd in ?? () from /usr/lib64/beignet//libgbe.so
#9  0x00007fffec2d7404 in ?? () from /usr/lib64/beignet//libgbe.so
#10 0x00007fffec45b412 in ?? () from /usr/lib64/beignet//libgbe.so
#11 0x00007fffec2e9158 in ?? () from /usr/lib64/beignet//libgbe.so
#12 0x00007ffff01da651 in ?? () from /usr/lib64/beignet//libcl.so
#13 0x00007ffff01d0237 in clBuildProgram () from /usr/lib64/beignet//libcl.so
#14 0x00007ffff7bc0b8f in clBuildProgram () from /usr/lib64/libOpenCL.so.1
#15 0x00000000004088a8 in cl::Program::build (this=this@entry=0x7fffffffde08, devices=std::vector of length 1, capacity 1 = {...}, options=options@entry=0x418feb " -cl-mad-enable ", 
    notifyFptr=notifyFptr@entry=0x0, data=data@entry=0x0) at /home/matwey/temp/clpeak/build/clhpp_install/include/CL/cl.hpp:5273
#16 0x0000000000407a9e in clPeak::runAll (this=this@entry=0x7fffffffe0e0) at /home/matwey/temp/clpeak/src/clpeak.cpp:98
#17 0x000000000040567d in main (argc=1, argv=0x7fffffffe208) at /home/matwey/temp/clpeak/src/entry.cpp:9

Even if this hardware configuration cannot be supported, I would expect more informative message than the crash.

@krrishnarraj
Copy link
Owner

This seems like a beignet issue. The call-stack points deep inside cl::Program::build()

@matwey
Copy link
Author

matwey commented Mar 29, 2020

Initially, I supposed that clpeak may use some feature without explicitly checking it support.

@matwey
Copy link
Author

matwey commented Mar 29, 2020

Anyway, I've checked with Beignet from master, result is the same.

@matwey
Copy link
Author

matwey commented Mar 30, 2020

For the record. The same software configuration works well on never CPU:

Platform: Intel Gen OCL Driver
  Device: Intel(R) HD Graphics Kabylake ULT GT2
    Driver version  : 1.3 (Linux x64)
    Compute units   : 24
    Clock frequency : 1000 MHz

    Global memory bandwidth (GBPS)
      float   : 26.90
      float2  : 27.86
      float4  : 27.67
      float8  : 27.20
      float16 : 25.87

    Single-precision compute (GFLOPS)
      float   : 364.71
      float2  : 379.20
      float4  : 378.50
      float8  : 376.99
      float16 : 375.05

    half-precision compute (GFLOPS)
      half   : 455.54
      half2  : 745.82
      half4  : 749.58
      half8  : 746.53
      half16 : 741.75

    No double precision support! Skipped

    Transfer bandwidth (GBPS)
      enqueueWriteBuffer         : 25.97
      enqueueReadBuffer          : 12.41
      enqueueMapBuffer(for read) : 113623.47
        memcpy from mapped ptr   : 12.42
      enqueueUnmap(after write)  : 119304.65
        memcpy to mapped ptr     : 12.38

    Kernel launch latency : 35.64 us

@matwey
Copy link
Author

matwey commented Mar 30, 2020

Raised an issue for Beignet: https://gitlab.freedesktop.org/beignet/beignet/-/issues/84

@krrishnarraj
Copy link
Owner

Thanks

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
@matwey @krrishnarraj and others