beignet error on haswell GPU

Bug #1902857 reported by steve sheriff
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
beignet (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Description: Ubuntu 20.04.1 LTS
Release: 20.04

I'm trying to run the StarTools GPU accelerated version, but I'm getting errors. The program becomes unusable afterwards.
Here is my clinfo and error:

Number of platforms 1
  Platform Name Intel Gen OCL Driver
  Platform Vendor Intel
  Platform Version OpenCL 2.0 beignet 1.3
  Platform Profile FULL_PROFILE
  Platform Extensions cl_khr_global_int32_base_atomics cl_khr
_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extende
d_atomics cl_khr_byte_addressable_store cl_khr_3d_image_writes cl_khr_image2d_from_buffer
 cl_khr_depth_images cl_khr_spir cl_khr_icd cl_intel_accelerator cl_intel_subgroups cl_in
tel_subgroups_short
  Platform Extensions function suffix Intel

  Platform Name Intel Gen OCL Driver
Number of devices 1
  Device Name Intel(R) HD Graphics Haswell Ultrabook
GT2 reserved
  Device Vendor Intel
  Device Vendor ID 0x8086
  Device Version OpenCL 1.2 beignet 1.3
  Driver Version 1.3
  Device OpenCL C Version OpenCL C 1.2 beignet 1.3
  Device Type GPU
  Device Profile FULL_PROFILE
  Device Available Yes
  Compiler Available Yes
  Linker Available Yes
  Max compute units 20
  Max clock frequency 1000MHz
  Device Partition (core)
    Max number of sub-devices 1
    Supported partition types None, None, None
    Supported affinity domains (n/a)
  Max work item dimensions 3
  Max work item sizes 512x512x512
  Max work group size 512
  Preferred work group size multiple 16
  Preferred / native vector sizes
    char 16 / 8
    short 8 / 8
    int 4 / 4
    long 2 / 2
    half 0 / 8 (n/a)
    float 4 / 4
    double 0 / 2 (n/a)
  Half-precision Floating-point support (n/a)
  Single-precision Floating-point support (core)
    Denormals No
    Infinity and NANs Yes
    Round to nearest Yes
    Round to zero No
    Round to infinity No
    IEEE754-2008 fused multiply-add No
    Support is emulated in software No
    Correctly-rounded divide and sqrt operations No
  Double-precision Floating-point support (n/a)
  Address bits 32, Little-Endian
  Global memory size 2147483648 (2GiB)
  Error Correction support No
  Max memory allocation 1610612736 (1.5GiB)
  Unified memory for Host and Device Yes
  Minimum alignment for any data type 128 bytes
  Alignment of base address 1024 bits (128 bytes)
  Global Memory cache type Read/Write
  Global Memory cache size 8192 (8KiB)
  Global Memory cache line size 64 bytes
  Image support Yes
    Max number of samplers per kernel 16
    Max size for 1D images from buffer 65536 pixels
    Max 1D or 2D image array size 2048 images
    Base address alignment for 2D image buffers 4096 bytes
    Pitch alignment for 2D image buffers 1 pixels
    Max 2D image size 8192x8192 pixels
    Max 3D image size 8192x8192x2048 pixels
    Max number of read image args 128
    Max number of write image args 8
  Local memory type Local
  Local memory size 65536 (64KiB)
  Max number of constant args 8
  Max constant buffer size 134217728 (128MiB)
  Max size of kernel argument 1024
  Queue properties
    Out-of-order execution No
    Profiling Yes
  Prefer user sync for interop Yes
  Profiling timer resolution 80ns
  Execution capabilities
    Run OpenCL kernels Yes
    Run native kernels Yes
    SPIR versions 1.2
  printf() buffer size 1048576 (1024KiB)
  Built-in kernels __cl_copy_region_align4;__cl_copy_regio
n_align16;__cl_cpy_region_unalign_same_offset;__cl_copy_region_unalign_dst_offset;__cl_co
py_region_unalign_src_offset;__cl_copy_buffer_rect;__cl_copy_image_1d_to_1d;__cl_copy_ima
ge_2d_to_2d;__cl_copy_image_3d_to_2d;__cl_copy_image_2d_to_3d;__cl_copy_image_3d_to_3d;__
cl_copy_image_2d_to_buffer;__cl_copy_image_3d_to_buffer;__cl_copy_buffer_to_image_2d;__cl
_copy_buffer_to_image_3d;__cl_fill_region_unalign;__cl_fill_region_align2;__cl_fill_regio
n_align4;__cl_fill_region_align8_2;__cl_fill_region_align8_4;__cl_fill_region_align8_8;__
cl_fill_region_align8_16;__cl_fill_region_align128;__cl_fill_image_1d;__cl_fill_image_1d_
array;__cl_fill_image_2d;__cl_fill_image_2d_array;__cl_fill_image_3d;
  Device Extensions cl_khr_global_int32_base_atomics cl_khr
_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extende
d_atomics cl_khr_byte_addressable_store cl_khr_3d_image_writes cl_khr_image2d_from_buffer
 cl_khr_depth_images cl_khr_spir cl_khr_icd cl_intel_accelerator cl_intel_subgroups cl_in
tel_subgroups_short

NULL platform behavior
  clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) Intel Gen OCL Driver
  clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [Intel]
  clCreateContext(NULL, ...) [default] Success [Intel]
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT) Success (1)
    Platform Name Intel Gen OCL Driver
    Device Name Intel(R) HD Graphics Haswell Ultrabook
GT2 reserved
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) Success (1)
    Platform Name Intel Gen OCL Driver
    Device Name Intel(R) HD Graphics Haswell Ultrabook
GT2 reserved
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) Success (1)
    Platform Name Intel Gen OCL Driver
    Device Name Intel(R) HD Graphics Haswell Ultrabook
GT2 reserved

ICD loader properties
  ICD loader Name OpenCL ICD Loader
  ICD loader Vendor OCL Icd free software
  ICD loader Version 2.2.11
  ICD loader Profile OpenCL 2.1

And here are the first 5 (of hundreds) of errors from beignet:

./StarTools-Linux64-GPU
drm_intel_gem_bo_context_exec() failed: Input/output error
Beignet: "Exec event 0x7f5c9001e610 error, type is 4592, error status is -5"
drm_intel_gem_bo_context_exec() failed: Input/output error
Beignet: "Exec event 0x7f5c9002b0e0 error, type is 4592, error status is -5"
drm_intel_gem_bo_context_exec() failed: Input/output error
Beignet: "Exec event 0x7f5c9001dc10 error, type is 4592, error status is -5"
drm_intel_gem_bo_context_exec() failed: Input/output error
Beignet: "Exec event 0x7f5c9001de00 error, type is 4592, error status is -5"
drm_intel_gem_bo_context_exec() failed: Input/output error
Beignet: "Exec event 0x7f5c9002bfd0 error, type is 4592, error status is -5"
drm_intel_gem_bo_context_exec() failed: Input/output error

Expected: No errors. The process ends correctly.
Actual: The process (it's calculating the position of stars in an astro-photo) ends fully rather than partially after a long wait.

TIA,
Steve

Tags: beignet opencl
steve sheriff (stevelcb)
tags: added: beignet opencl
Revision history for this message
Rebecca Palmer (rebecca-palmer) wrote :

Please try running the tests (install the beignet-dev package, then /usr/lib/x86_64-linux-gnu/beignet/utest_run ).

If this doesn't trigger the bug, do you have a way to do so that doesn't require non-Ubuntu software?

Changed in beignet (Ubuntu):
status: New → Incomplete
Revision history for this message
steve sheriff (stevelcb) wrote :

Hi and thanks for taking a look.
All the tests pass:
summary:
----------
  total: 999
  run: 958
  pass: 958
  fail: 0
  pass rate: 1.000000

I do not have any Ubuntu software which triggers the bug but it is the same error as:
https://bugs.freedesktop.org/show_bug.cgi?id=100639

TIA

Revision history for this message
Rebecca Palmer (rebecca-palmer) wrote :

"error, type is 4592, error status is -5" is a rather generic error: those codes are CL_OUT_OF_RESOURCES (on the GPU) during CL_COMMAND_NDRANGE_KERNEL (a normal OpenCL computation). The other error message ("Input/output error") doesn't match, so this probably _isn't_ 100639 ("Device or resource busy") or a simple out-of-memory ("No space left on device").

It _might_ be https://bugs.freedesktop.org/show_bug.cgi?id=91525 (which doesn't have the second message, but it only appears if beignet was compiled with debugging messages enabled).

I'm not sure what to try next.

(beignet is dead upstream, and may be removed from future Debian/Ubuntu along with llvm-toolchain-9, as it doesn't work with llvm-toolchain-10. Its replacement is intel-opencl-icd, but that requires newer hardware than yours.)

Changed in beignet (Ubuntu):
status: Incomplete → New
Revision history for this message
Rebecca Palmer (rebecca-palmer) wrote :

The beignet package has been removed from Debian and Ubuntu because it fails to build with current versions of LLVM/Clang (https://bugs.debian.org/974792). Hence, I am closing its bugs.

It is replaced by pocl-opencl-icd (on Ivy Bridge/Haswell = ix-3xxx/4xxx) and intel-opencl-icd (on Broadwell and later).

Changed in beignet (Ubuntu):
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.