Message boards :
SETI@home Enhanced :
SAHv8 on Linux OpenCL crashes Beignet/Intel iGPU
Message board moderation
Author | Message |
---|---|
Send message Joined: 18 Oct 09 Posts: 48 Credit: 73,283 RAC: 0 ![]() |
Task is This one Running Debian Stretch with Beignet. Hardware is an i7-3770 with HD Graphics 4000. CLInfo and BOINC (7.6.22) both found the graphics without any issue. However the task above crashed straight away. Unlike the other message thread on this I am running more up to date versions of the kernel and Beignet. Error from the task OpenCL version by Raistmer, r3352 Number of OpenCL platforms: terminate called after throwing an instance of 'std::bad_cast' what(): std::bad_cast SIGABRT: abort called Stack trace (16 frames): ../../projects/setiweb.ssl.berkeley.edu_beta/setiathome_8.05_x86_64-pc-linux-gnu__opencl_intel_gpu_sah(boinc_catch_signal+0x62)[0x63d122] /lib/x86_64-linux-gnu/libpthread.so.0(+0x10660)[0x7fa1b00df660] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x37)[0x7fa1afd5e507] /lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7fa1afd5f8da] ../../projects/setiweb.ssl.berkeley.edu_beta/setiathome_8.05_x86_64-pc-linux-gnu__opencl_intel_gpu_sah[0x7c0c95] ../../projects/setiweb.ssl.berkeley.edu_beta/setiathome_8.05_x86_64-pc-linux-gnu__opencl_intel_gpu_sah[0x776526] ../../projects/setiweb.ssl.berkeley.edu_beta/setiathome_8.05_x86_64-pc-linux-gnu__opencl_intel_gpu_sah[0x776553] ../../projects/setiweb.ssl.berkeley.edu_beta/setiathome_8.05_x86_64-pc-linux-gnu__opencl_intel_gpu_sah[0x7764ce] ../../projects/setiweb.ssl.berkeley.edu_beta/setiathome_8.05_x86_64-pc-linux-gnu__opencl_intel_gpu_sah[0x7bf832] ../../projects/setiweb.ssl.berkeley.edu_beta/setiathome_8.05_x86_64-pc-linux-gnu__opencl_intel_gpu_sah[0x5ecd0a] ../../projects/setiweb.ssl.berkeley.edu_beta/setiathome_8.05_x86_64-pc-linux-gnu__opencl_intel_gpu_sah[0x41e8f9] ../../projects/setiweb.ssl.berkeley.edu_beta/setiathome_8.05_x86_64-pc-linux-gnu__opencl_intel_gpu_sah[0x43caf8] ../../projects/setiweb.ssl.berkeley.edu_beta/setiathome_8.05_x86_64-pc-linux-gnu__opencl_intel_gpu_sah[0x451258] ../../projects/setiweb.ssl.berkeley.edu_beta/setiathome_8.05_x86_64-pc-linux-gnu__opencl_intel_gpu_sah[0x4159d7] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7fa1afd4b870] ../../projects/setiweb.ssl.berkeley.edu_beta/setiathome_8.05_x86_64-pc-linux-gnu__opencl_intel_gpu_sah[0x4173c9] Exiting... CLInfo Number of platforms 1 Platform Name Intel Gen OCL Driver Platform Vendor Intel Platform Version OpenCL 1.2 beignet 1.1.1 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_extended_atomics cl_khr_byte_addressable_store cl_khr_spir cl_khr_icd Platform Extensions function suffix Intel Platform Name Intel Gen OCL Driver Number of devices 1 Device Name Intel(R) HD Graphics IvyBridge GT2 Device Vendor Intel Device Vendor ID 0x8086 Device Version OpenCL 1.2 beignet 1.1.1 Driver Version 1.1.1 Device OpenCL C Version OpenCL C 1.2 beignet 1.1.1 Device Type GPU Device Profile FULL_PROFILE Max compute units 16 Max clock frequency 1000MHz Device Partition (core) Max number of sub-devices 1 Supported partition types None, None, None 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 1073741824 (1024MiB) 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 Global Memory cache line 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 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 Global Local memory size 65536 (64KiB) Max constant buffer size 134217728 (128MiB) Max number of constant args 8 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 <printDeviceInfo:135: get SPIR versions size : error -30> printf() buffer size 1048576 (1024KiB) Built-in kernels __cl_copy_region_align4;__cl_copy_region_align16;__cl_cpy_region_unalign_same_offset;__cl_copy_region_unalign_dst_offset;__cl_copy_region_unalign_src_offset;__cl_copy_buffer_rect;__cl_copy_image_1d_to_1d;__cl_copy_image_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_region_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 Available Yes Compiler Available Yes Linker Available Yes Device Extensions cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_spir cl_khr_icd 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_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 IvyBridge GT2 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 IvyBridge GT2 ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.2.8 ICD loader Profile OpenCL 1.2 |
![]() Send message Joined: 18 Jan 06 Posts: 1038 Credit: 18,734,730 RAC: 0 ![]() |
Unusual error you got there : Number of OpenCL platforms: terminate called after throwing an instance of 'std::bad_cast'Especially as there is no cast in the code where the error shows up, maybe some underlying function not ok. Need to find solution. http://lunatics.kwsn.info/index.php/topic,1796.msg60476.html#msg60476 Could you retry running clinfo with clinfo from AMD just for reference ? Does it crash in the same place as the intel_gpu app ? Also important : "gcc -v" and which versions of OpenCL are supported by your "libOpenCL.so" in use : "objdump -p /path/to/lib/libOpenCL.so". Check "/etc/OpenCL/vendors/intel-beignet.icd" for "path to lib". Example: objdump -p libOpenCL.so Was Beignet driver built from source on host or installed from repository ? _\|/_ U r s |
Send message Joined: 18 Oct 09 Posts: 48 Credit: 73,283 RAC: 0 ![]() |
Everything is from the repo. Nothing compiled on this machine so probably not relevant to get local gcc version (Stretch is up to gcc v5). The clinfo is the one from the repo, I will need to see if they have an AMD version. |
Send message Joined: 18 Oct 09 Posts: 48 Credit: 73,283 RAC: 0 ![]() |
$ cat intel-beignet-x86_64-linux-gnu.icd /usr/lib/x86_64-linux-gnu/beignet//libcl.so No objdump on the machine |
![]() Send message Joined: 18 Jan 06 Posts: 1038 Credit: 18,734,730 RAC: 0 ![]() |
Everything is from the repo. Nothing compiled on this machine so probably not relevant to get local gcc version (Stretch is up to gcc v5). The clinfo is the one from the repo, I will need to see if they have an AMD version. Did some reading and am now convinced about the reason for the error : your system is gcc 5 based and expects by default a newer version of the stdandard c++ library, which is no longer automatically backward compatible with earlier versions. The <std::vector>.size() function, where the error showed up, has been changed significantly in the new standard library. (see http://www.gnu.org/software/gcc/gcc-5/changes.html#libstdcxx for reference) Solution : Set _GLIBCXX_USE_CXX11_ABI to 0 when including any headers from standard library, so new standrad library can choose old methods, which are still supported. Will change that in the next version of the intel_gpu app for linux. _\|/_ U r s |
Send message Joined: 18 Oct 09 Posts: 48 Credit: 73,283 RAC: 0 ![]() |
Everything is from the repo. Nothing compiled on this machine so probably not relevant to get local gcc version (Stretch is up to gcc v5). The clinfo is the one from the repo, I will need to see if they have an AMD version. When the stdc6 library turned up on my Raspberry Pi B+ it managed to kill the Einstein BRP4 1.06 app that it had been running for months. I had to go back to the Jessie release so I could run it. It sounds like quite a few things will break because of this. The repo stuff will probably be okay because they will be rebuilt but the rest... |
Send message Joined: 30 Jan 16 Posts: 29 Credit: 1,323,445 RAC: 0 ![]() |
https://setiweb.ssl.berkeley.edu/beta/result.php?resultid=22839680 I got no answers , but more failures, whats that ? |
Send message Joined: 12 Nov 10 Posts: 1149 Credit: 32,460,657 RAC: 1 ![]() |
Just asked the question below on the Android apps News thread and, as you can see, it was suggested I try here, or at least I think this is where Claggy meant :-) In the last round of testing I joined an Android tablet up to Beta, in addition to my usual Windows clients. In the computer details it lists both a CPU and GPU (INTEL Intel(R) HD Graphics (535MB) OpenCL: 1.2). I can see, from the Event Log on the tablet, that it is requesting tasks for the GPU, but it's never got any. Until your post i'd never heard of Intel GPU support being available under Android, Is this something you would like to test? If so my tablet is available :-) http://setiweb.ssl.berkeley.edu/beta/show_host_detail.php?hostid=75528 Cheers SusieQ |
![]() Send message Joined: 18 Jan 06 Posts: 1038 Credit: 18,734,730 RAC: 0 ![]() |
https://setiweb.ssl.berkeley.edu/beta/result.php?resultid=22839680 Number of OpenCL platforms: terminate called after throwing an instance of 'std::bad_cast' what(): std::bad_cast SIGABRT: abort calledThat error happens with the new libstdc++ based on gcc5.x _\|/_ U r s |
Send message Joined: 18 Oct 09 Posts: 48 Credit: 73,283 RAC: 0 ![]() |
Number of OpenCL platforms: terminate called after throwing an instance of 'std::bad_cast' what(): std::bad_cast SIGABRT: abort calledThat error happens with the new libstdc++ based on gcc5.x Is there a new build that corrects this? You mentioned before you were looking at changing something to make it work with later GCC versions. Set _GLIBCXX_USE_CXX11_ABI to 0 when including any headers from standard library, so new standrad library can choose old methods, which are still supported. |
![]() Send message Joined: 18 Jan 06 Posts: 1038 Credit: 18,734,730 RAC: 0 ![]() |
Number of OpenCL platforms: terminate called after throwing an instance of 'std::bad_cast' what(): std::bad_cast SIGABRT: abort calledThat error happens with the new libstdc++ based on gcc5.x New beta app was released last week. Please check if it works now gcc5 based system here at beta test. _\|/_ U r s |
Send message Joined: 18 Oct 09 Posts: 48 Credit: 73,283 RAC: 0 ![]() |
New beta app was released last week. Please check if it works now gcc5 based system here at beta test. One completed successfully and validated. Will run more tonight my time. |
Send message Joined: 18 Oct 09 Posts: 48 Credit: 73,283 RAC: 0 ![]() |
New beta app was released last week. Please check if it works now gcc5 based system here at beta test. About 14 or 15 done so far on the iGPU. One inconclusive at the moment, but both of us have -9 result overflow the rest have validated or are pending. |
![]() Send message Joined: 18 Jan 06 Posts: 1038 Credit: 18,734,730 RAC: 0 ![]() |
New beta app was released last week. Please check if it works now gcc5 based system here at beta test. Can you guess why the CPU usage for iGPU tasks is that high ? It's 6 times higher than on my Ci7 3770T. _\|/_ U r s |
Send message Joined: 18 Oct 09 Posts: 48 Credit: 73,283 RAC: 0 ![]() |
About 14 or 15 done so far on the iGPU. One inconclusive at the moment, but both of us have -9 result overflow the rest have validated or are pending. No idea. Possibly Beignet driver. I was running 7 CPU and one iGPU at the same time. I find OpenCL likes a dedicated core regardless of it running under Linux or Windows. |
![]() Send message Joined: 18 Jan 06 Posts: 1038 Credit: 18,734,730 RAC: 0 ![]() |
About 14 or 15 done so far on the iGPU. One inconclusive at the moment, but both of us have -9 result overflow the rest have validated or are pending. Same over here 7 on CPU and one on iGPU, so thats not it. _\|/_ U r s |
Send message Joined: 18 Oct 09 Posts: 48 Credit: 73,283 RAC: 0 ![]() |
I ran some Einstein work on the same machine and their tasks also came in somewhat slower than a similar windows machine. It was a clean install in the last week. I did a net install from Debian Jessie then a dist-upgrade to Stretch. Nothing else on it that I know of that should slow it down. |
![]() Send message Joined: 18 Jan 06 Posts: 1038 Credit: 18,734,730 RAC: 0 ![]() |
Got Debian Stretch running on host id 75365 from one of the daily snapshots, but had to install a lot of libs to get BOINC 7.6.22 compile on it. The repository version 7.6.31 did not work properly. Will watch CPU usage closely ! _\|/_ U r s |
Send message Joined: 18 Oct 09 Posts: 48 Credit: 73,283 RAC: 0 ![]() |
Got Debian Stretch running on host id 75365 from one of the daily snapshots, but had to install a lot of libs to get BOINC 7.6.22 compile on it. The repository version 7.6.31 did not work properly. The BOINC-client seemed to work fine for me. I remove X11-* before installing BOINC. I don't use the manager. If you have issues with the client I am sure Gianfranco would like to know. To switch from Jessie to Stretch all you should need to do is change your sources.list and do a dist-upgrade. |
©2023 University of California
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.