Quantcast
Channel: Intel® Software - OpenCL*
Viewing all 1182 articles
Browse latest View live

Experimental OpenCL 2.1 CPU only platform crashes when used *after* another Intel CPU only platform

$
0
0

Hi,

I've two Intel CPU only platforms installed on my (Windows 10 64 bit) development machine:

1) Intel OpenCL 1.2 (build 25), version 6.4.0.25 (the one available as standalone installer version 16.1.1)
2) Experimental OpenCL 2.1 CPU Only Platform (build 10), version 7.0.0.2519 (the one available through the Intel OpenCL SDK)

When within one same process I iterate through the available platforms/devices to check their specs and I create a context to run a simple kernel (just to make sure the platform/device really works), the Experimental OpenCL 2.1 platform fails during the clBuildProgram() method, complaining about non-sense things such as "use of undeclared identified 'size_t'; did you mean 'sizeof'?", "implicit declaration of get_global_id() is invalid in OpenCL" and so on. 

It looks like the compiler of the Experimental OpenCL 2.1 runtime goes nuts if I previously initialized a context and used the Intel OpenCL 1.2 runtime. Maybe some per-process state that is not properly cleaned or managed across the two runtime versions. 

If I comment out the portion of code initializing the first context (the one on the Intel OpenCL 1.2 runtime), the Experimental OpenCL 2.1 runtime works as expected. 

This issue can be easily replicated by installing the two aforementioned runtime versions on one same machine and by running "clinfo". 


Intel OpenCL CPU only runtime version 7.* and maximum kernel length crash

$
0
0

Hi,

we noticed that the new Intel OpenCL CPU only runtime series 7.* crashes in its OclCpuBackEnd64.dll during the clBuildProgram() method when a rather long source code is passed. The very same piece of code is working properly under the previous versions of the Intel OpenCL CPU only runtime (version 6.* and earlier), as well as under the NVidia, AMD, and Intel GPU runtime. 

By cutting a few dozen lines of code, the clBuildProgram() works. 

We are facing this problem under all the 7.* CPU only versions we can test in our firm:

- 7.0.* (the one available as Experimental through the Intel OpenCL SDK)
- 7.2.* (as the CPU only runtime available with the HD Graphics driver)
- 7.5.* (as the CPU only runtime availabe with another Intel GPU)

 

 

Intel RPMs for Fedora 27

$
0
0

hi all,

I've downloaded the Intel OpenCL 2017 kit and have installed it without any problems on CentOS 6 and 7 boxen. However, when I try to install it on my Fedora 27 laptop I ran into a major SNAFU:   all RPMs generated by Intel (OpenCL, MIC, compiler) are not recognized as valid RPMs by Fedora 27. Even adding "--nosignature" did not help.  I had to run

  rpmrebuild -p opencl-1.2-base-6.3.0.1904-1.x86_64.rpm

(on a CentOS 7 box) to end up with an RPM that is accepted by Fedora 27.

Can someone from Intel look at the way RPMs are generated ?  it seems that Fedora 27 (and possibly also 26) does not grok them anymore;

many thanks,

JJK

OpenCL intall erorr(error code 1603)

$
0
0

Hi,

Now, I'm in mater degree, and I want to learn OpenCL.

so I downloaded   'intel_aocl_setup_7.0.0.2519'    for windows version

but my PC can't install 'Intel Debugger for Heterogeneous Compute-Debugger target support'

My PC is

windows7 64bit

Intel(R) Core(TM) i5-6500 CPU @3.2GHz(4 CPUs)

no GPU

8Gb RAM

 

error code is 1603

File name : gen_debugger_target_release_1.1.63081.0.msi

so I searched that errors

ERROR : Signature verification failed while checking integrity of driver package 'igfxdcd.inf'  - Error code 0x80096002

ERROR : encountered while installing driver package

ERROR: InstallDriverPackages failed with error 0x800B0100

I tried delete file and reinstall, run as administrator and check compatibility mode setting

but I coundn't solve this problem.

please help me.

 

Install opencl and CL_DEVICE_TYPE_GPU: 0

$
0
0

Hi all,

 I have a problem that I cannot solve by myself,I need you help!

I install SRB5.0_linux64.zip in Centos 7,but can not find gpu,Whether if I have to install the gpu driver?

but I cannot find it.

[root@node-46186 driver]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.1.1503 (Core)
Release: 7.1.1503
Codename: Core
[root@node-46186 driver]#
[root@node-46186 driver]# lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 4th Generation Core Processor Family Integrated Graphics Controller (rev 06)
[root@node-46186 driver]#
 

[root@node-25152 opencl]# sudo rpm -Uvh intel-opencl-r5.0-63503.x86_64.rpm
warning: intel-opencl-r5.0-63503.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 13881d9c: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:intel-opencl-r5.0-63503          ################################# [100%]
[root@node-25152 opencl]# rpm -Uvh intel-opencl-devel-r5.0-63503.x86_64.rpm
warning: intel-opencl-devel-r5.0-63503.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 13881d9c: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:intel-opencl-devel-r5.0-63503    ################################# [100%]
[root@node-25152 opencl]# rpm -Uvh intel-opencl-cpu-r5.0-63503.x86_64.rpm
warning: intel-opencl-cpu-r5.0-63503.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 13881d9c: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:intel-opencl-cpu-r5.0-63503      ################################# [100%]
[root@node-25152 opencl]#

[root@node-46186 driver]# rpm -qa | grep opencl
intel-opencl-cpu-r5.0-63503.x86_64
intel-opencl-devel-r5.0-63503.x86_64
intel-opencl-r5.0-63503.x86_64
[root@node-46186 driver]#

[root@node-46186 driver]# /root/capsbasic
Number of available platforms: 1
Platform names:
    [0] Intel(R) OpenCL [Selected]
Number of devices available for each type:
    CL_DEVICE_TYPE_CPU: 1
    CL_DEVICE_TYPE_GPU: 0
    CL_DEVICE_TYPE_ACCELERATOR: 0

*** Detailed information for each device ***

CL_DEVICE_TYPE_CPU[0]
    CL_DEVICE_NAME: Intel(R) Core(TM) i3-4160 CPU @ 3.60GHz
    CL_DEVICE_AVAILABLE: 1
    CL_DEVICE_VENDOR: Intel(R) Corporation
    CL_DEVICE_PROFILE: FULL_PROFILE
    CL_DEVICE_VERSION: OpenCL 1.2 (Build 475)
    CL_DRIVER_VERSION: 1.2.0.475
    CL_DEVICE_OPENCL_C_VERSION: OpenCL C 1.2
    CL_DEVICE_MAX_COMPUTE_UNITS: 4
    CL_DEVICE_MAX_CLOCK_FREQUENCY: 3600
    CL_DEVICE_MAX_WORK_GROUP_SIZE: 8192
    CL_DEVICE_ADDRESS_BITS: 64
    CL_DEVICE_MEM_BASE_ADDR_ALIGN: 1024
    CL_DEVICE_MAX_MEM_ALLOC_SIZE: 1561958400
    CL_DEVICE_GLOBAL_MEM_SIZE: 6247833600
    CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE: 131072
    CL_DEVICE_GLOBAL_MEM_CACHE_SIZE: 262144
    CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE: 64
    CL_DEVICE_LOCAL_MEM_SIZE: 32768
    CL_DEVICE_PROFILING_TIMER_RESOLUTION: 1
    CL_DEVICE_IMAGE_SUPPORT: 1
    CL_DEVICE_ERROR_CORRECTION_SUPPORT: 0
    CL_DEVICE_HOST_UNIFIED_MEMORY: 1
    CL_DEVICE_EXTENSIONS: cl_khr_icd 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_depth_images cl_khr_3d_image_writes cl_intel_exec_by_local_thread cl_khr_spir cl_khr_fp64
    CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT: 1
    CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG: 1
    CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT: 1
    CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE: 1
    CL_DEVICE_NATIVE_VECTOR_WIDTH_INT: 8
    CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG: 4
    CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT: 8
    CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE: 4
[root@node-46186 driver]#

Visual Studio - OpenCL

$
0
0

Hello,
can anybody help me? I'm trying to compile and run some OpenCL codes in Visual Studio.
I have not been successful so far. Worse, my video card burned.

Current specifications of my PC (without offboard video card):
Windows 8.1 Pro 64-bit
Intel Core 2 Quad CPU Q6600 @ 2.4GHz, 4.0GB RAM, Intel G33 / G31 Express Chipset Family

With these specifications I can program in OpenCL in Visual Studio?
What do I need to do? I'm totally lost.

If in case it is not possible in Visual Studio, is there any way I can get OpenCL on my machine?

Thanks in advance for your help and attention.

OpenCL for CPU not detect my second Xeon E5-2696 v4

$
0
0

I'm using the Intel OpenCL for CPU on a Windows 7 64-bit, Dual E5-2696 v4 on ASUS Z10PE-D8 WS machine.

When I query available devices on the Intel platform, I see only one device.

    Type           : CPU
    Vendor ID      : 8
    Vendor         : Intel(R) Corporation
    Name           : Intel(R) Xeon(R) CPU E5-2696 v4 @ 2.20GHz
    Version        : OpenCL 1.2 (Build 57)
    Processor(s)   : 44
    Clock          : 2200
    Memory         : 16355/65420 MB allocatable
    OpenCL Version : OpenCL C 1.2
    Driver Version : 5.0.0.57

Using this single OpenCL device, with a large work group size, I see that only one physical CPU is being used.

In "Windows Task Manager" i see only 50% and work only CPU NUMA 0

If  disable NUMA in the BIOS the result of using thread unstable ,sometimes 24 sometimes 64, but never all 88

I tried Windows 2000 server R2, Windows 10 x64 and last OpenCL CPU versions and SDK with the same result.

Is this a known limitation of the Intel OpenCL driver, or is there a workaround to use both CPUs?

OpenCL CPU memory size too small

$
0
0

Hi,

I am using the 7.0.0.2519 Open CL SDK and installed it on my Dual CPU (2x Xeon E5 2630v3) machine with 32 GB of RAM.

I cannot run my application because the OpenCL has only 511 MB memory available. Where does this limit come from and how can I increase it?

Regards

M. Lazurek


Code-Builder for OpenCL crashes Visual Studio

$
0
0

I just tried to run some basic OpenCL examples on a laptop with Intel HD Graphics 4000, but it immediately crashes Visual Studio if I try to get the platform info.

It's strange, because I have the latest versions of Visual Studio and OpenCL SDK.

Does anyone know how to solve this?

 

System information:

OS: Windows 10 Pro

Version: 17.03

OS Build: 15063.786

Microsoft Visual Studio 15.4.0

OpenCL Code Builder - Intel(R) SDK for OpenCL Applications 2017 Beta 7.0.0.2519

Graphics adapter: Intel HD Graphics 4000 which is has OpenCL support.

 

How to replicate:

  1. Launch Microsoft Visual Studio 2017
  2. Code-Builder > Platform Info...
  3. Click Available Machines > (local) [PC_name] > Intel(R) OpenCL > CPU (or GPU)

 

Result:

Visual Studio crashes, produced an error message in a pop-up window (screenshot attached):

"Microsoft Visual Studio 2017 has stopped working.

A problem caused the program to stop working correctly. Windows will close the program and notify you if a solution is available."

 

The solution posted on this forum earlier https://software.intel.com/en-us/forums/opencl/topic/603665#comment-1857032 does not seem to work as my machine already has the latest OpenCL SDK.

 

OpenCL clGetPlatformIDs gives 26 valgrind memcheck errors

$
0
0

The code:

[code]

// g++ -std=c++17 -O0 -g -Wall -Wextra -lOpenCL query.cpp -o query
// valgrind --leak-check=full --track-origins=yes --tool=memcheck ./query N

#include <CL/cl.h>
#include <CL/cl.hpp>
#include <vector>
#include <string>
#include <iostream>
#include <memory>

using namespace std;

#define CL_CHECK_ERROR(error)                                    \
  if ((error) != CL_SUCCESS){ cout << "ERROR in "<< __FILE__ << ":"<< __LINE__ << "\n"; }

int main(int, char * argv[])
{
  int type = stoi(argv[1]);

  string info_buffer;
  int info_buffer_size = 1024;
  info_buffer.reserve(info_buffer_size);

  if (type == 0){

    vector<cl_platform_id> platforms;
    cl_uint num_platforms;

    CL_CHECK_ERROR(clGetPlatformIDs(0, NULL, &num_platforms));
    cout << "num_platforms: "<< num_platforms << "\n";
    platforms.reserve(num_platforms);
    platforms.resize(num_platforms);
    CL_CHECK_ERROR(clGetPlatformIDs(num_platforms, platforms.data(), NULL));
    cout << "- "<< platforms.data()[0] << "\n";
    // cout << "- "<< platforms.data()[1] << "\n";
    // cout << platforms.size() << "\n";
    for (auto& platform : platforms){
      cout << platform << "\n";
      size_t size;
      CL_CHECK_ERROR(clGetPlatformInfo(platform, CL_PLATFORM_NAME, 0, NULL, &size));
      info_buffer.resize(size); // works also with size - 1
      CL_CHECK_ERROR(clGetPlatformInfo(platform, CL_PLATFORM_NAME, size, info_buffer.data(), NULL));
      cout << "platform: '"<< info_buffer << "'\n";
    }

  }else if (type == 1){

    cl_uint num_platforms;

    CL_CHECK_ERROR(clGetPlatformIDs(0, NULL, &num_platforms));
    cout << "num_platforms: "<< num_platforms << "\n";
    unique_ptr<cl_platform_id[]> platforms(new cl_platform_id[num_platforms]);

    CL_CHECK_ERROR(clGetPlatformIDs(num_platforms, platforms.get(), NULL));
    cout << "- "<< platforms[0] << "\n";
    // cout << "- "<< platforms[1] << "\n";
    for (uint i=0; i<num_platforms; i++){
      cl_platform_id platform = platforms[i];
      cout << platforms[i] << "\n";
      size_t size;
      CL_CHECK_ERROR(clGetPlatformInfo(platform, CL_PLATFORM_NAME, 0, NULL, &size));
      info_buffer.resize(size); // works also with size - 1
      CL_CHECK_ERROR(clGetPlatformInfo(platform, CL_PLATFORM_NAME, size, info_buffer.data(), NULL));
      cout << "platform: '"<< info_buffer << "'\n";
    }

  } else {
    vector<cl::Platform> platforms;
    cl::Platform::get(&platforms);
    cout << "num_platforms: "<< platforms.size() << "\n";
    cout << "- "<< platforms.at(0)() << "\n";
    // cout << "- "<< platforms[1] << "\n";
    for (auto& platform : platforms) {
      CL_CHECK_ERROR(platform.getInfo(CL_PLATFORM_NAME, &info_buffer));
      cout << "platform: "<< info_buffer << "\n";
    }
  }

  return 0;
}

[/code]

The compilation:

[code]

g++ -std=c++17 -O0 -g -Wall -Wextra -lOpenCL query.cpp -o query

[/code]

Valgrind:

[code]

valgrind --leak-check=full --track-origins=yes --tool=memcheck ./query 0 2>query_t0.memcheck

valgrind --leak-check=full --track-origins=yes --tool=memcheck ./query 1 2>query_t1.memcheck

valgrind --leak-check=full --track-origins=yes --tool=memcheck ./query 2 2>query_t2.memcheck

[/code]

In all cases (t0, t1 with .h, t2 with .hpp):

[code]

==2208== LEAK SUMMARY:
==2208==    definitely lost: 1,072 bytes in 5 blocks
==2208==    indirectly lost: 76 bytes in 2 blocks
==2208==      possibly lost: 368 bytes in 1 blocks
==2208==    still reachable: 60,016 bytes in 209 blocks
==2208==         suppressed: 0 bytes in 0 blocks
==2208== Reachable blocks (those to which a pointer was found) are not shown.
==2208== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==2208==
==2208== For counts of detected and suppressed errors, rerun with: -v
==2208== ERROR SUMMARY: 26 errors from 20 contexts (suppressed: 0 from 0)

[/code]

Some errors (from the t2):

[code]

==2304== Conditional jump or move depends on uninitialised value(s)
==2304==    at 0x7B2B183: ??? (in /opt/intel/opencl/libigdrcl.so)
==2304==    by 0x7B0DEA2: ??? (in /opt/intel/opencl/libigdrcl.so)
==2304==    by 0x7AF90AA: clIcdGetPlatformIDsKHR (in /opt/intel/opencl/libigdrcl.so)
==2304==    by 0x65284E3: ??? (in /opt/intel/opencl/libIntelOpenCL.so)
==2304==    by 0x6508F1F: ??? (in /opt/intel/opencl/libIntelOpenCL.so)
==2304==    by 0x4E3B77D: ??? (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x4E3D6CE: ??? (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x5CF1DBE: __pthread_once_slow (in /usr/lib/libpthread-2.26.so)
==2304==    by 0x4E3BD20: clGetPlatformIDs (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x10B77C: cl::Platform::get(std::vector<cl::Platform, std::allocator<cl::Platform> >*) (cl.hpp:2338)
==2304==    by 0x10B143: main (query.cpp:69)
==2304==  Uninitialised value was created by a heap allocation
==2304==    at 0x4C2D7FF: operator new(unsigned long, std::nothrow_t const&) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==2304==    by 0x7B0DE8A: ??? (in /opt/intel/opencl/libigdrcl.so)
==2304==    by 0x7AF90AA: clIcdGetPlatformIDsKHR (in /opt/intel/opencl/libigdrcl.so)
==2304==    by 0x65284E3: ??? (in /opt/intel/opencl/libIntelOpenCL.so)
==2304==    by 0x6508F1F: ??? (in /opt/intel/opencl/libIntelOpenCL.so)
==2304==    by 0x4E3B77D: ??? (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x4E3D6CE: ??? (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x5CF1DBE: __pthread_once_slow (in /usr/lib/libpthread-2.26.so)
==2304==    by 0x4E3BD20: clGetPlatformIDs (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x10B77C: cl::Platform::get(std::vector<cl::Platform, std::allocator<cl::Platform> >*) (cl.hpp:2338)
==2304==    by 0x10B143: main (query.cpp:69)
==2304== Conditional jump or move depends on uninitialised value(s)
==2304==    at 0x7B0DED7: ??? (in /opt/intel/opencl/libigdrcl.so)
==2304==    by 0x7AF90AA: clIcdGetPlatformIDsKHR (in /opt/intel/opencl/libigdrcl.so)
==2304==    by 0x65284E3: ??? (in /opt/intel/opencl/libIntelOpenCL.so)
==2304==    by 0x6508F1F: ??? (in /opt/intel/opencl/libIntelOpenCL.so)
==2304==    by 0x4E3B77D: ??? (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x4E3D6CE: ??? (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x5CF1DBE: __pthread_once_slow (in /usr/lib/libpthread-2.26.so)
==2304==    by 0x4E3BD20: clGetPlatformIDs (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x10B77C: cl::Platform::get(std::vector<cl::Platform, std::allocator<cl::Platform> >*) (cl.hpp:2338)
==2304==    by 0x10B143: main (query.cpp:69)
==2304==  Uninitialised value was created by a heap allocation
==2304==    at 0x4C2D7FF: operator new(unsigned long, std::nothrow_t const&) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==2304==    by 0x7B0DE8A: ??? (in /opt/intel/opencl/libigdrcl.so)
==2304==    by 0x7AF90AA: clIcdGetPlatformIDsKHR (in /opt/intel/opencl/libigdrcl.so)
==2304==    by 0x65284E3: ??? (in /opt/intel/opencl/libIntelOpenCL.so)
==2304==    by 0x6508F1F: ??? (in /opt/intel/opencl/libIntelOpenCL.so)
==2304==    by 0x4E3B77D: ??? (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x4E3D6CE: ??? (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x5CF1DBE: __pthread_once_slow (in /usr/lib/libpthread-2.26.so)
==2304==    by 0x4E3BD20: clGetPlatformIDs (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x10B77C: cl::Platform::get(std::vector<cl::Platform, std::allocator<cl::Platform> >*) (cl.hpp:2338)
==2304==    by 0x10B143: main (query.cpp:69)
==2304== Conditional jump or move depends on uninitialised value(s)
==2304==    at 0x7B0C988: ??? (in /opt/intel/opencl/libigdrcl.so)
==2304==    by 0x7B0CE6C: ??? (in /opt/intel/opencl/libigdrcl.so)
==2304==    by 0x7B61D9F: ??? (in /opt/intel/opencl/libigdrcl.so)
==2304==    by 0x400FB92: _dl_fini (in /usr/lib/ld-2.26.so)
==2304==    by 0x5962487: __run_exit_handlers (in /usr/lib/libc-2.26.so)
==2304==    by 0x59624D9: exit (in /usr/lib/libc-2.26.so)
==2304==    by 0x594BF70: (below main) (in /usr/lib/libc-2.26.so)
==2304==  Uninitialised value was created by a heap allocation
==2304==    at 0x4C2D7FF: operator new(unsigned long, std::nothrow_t const&) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==2304==    by 0x7B0DE8A: ??? (in /opt/intel/opencl/libigdrcl.so)
==2304==    by 0x7AF90AA: clIcdGetPlatformIDsKHR (in /opt/intel/opencl/libigdrcl.so)
==2304==    by 0x65284E3: ??? (in /opt/intel/opencl/libIntelOpenCL.so)
==2304==    by 0x6508F1F: ??? (in /opt/intel/opencl/libIntelOpenCL.so)
==2304==    by 0x4E3B77D: ??? (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x4E3D6CE: ??? (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x5CF1DBE: __pthread_once_slow (in /usr/lib/libpthread-2.26.so)
==2304==    by 0x4E3BD20: clGetPlatformIDs (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x10B77C: cl::Platform::get(std::vector<cl::Platform, std::allocator<cl::Platform> >*) (cl.hpp:2338)
==2304==    by 0x10B143: main (query.cpp:69)
==2304== 8 bytes in 1 blocks are definitely lost in loss record 5 of 171
==2304==    at 0x4C2CEFF: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==2304==    by 0x4E3B7C8: ??? (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x4E3D6CE: ??? (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x5CF1DBE: __pthread_once_slow (in /usr/lib/libpthread-2.26.so)
==2304==    by 0x4E3BD20: clGetPlatformIDs (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x10B77C: cl::Platform::get(std::vector<cl::Platform, std::allocator<cl::Platform> >*) (cl.hpp:2338)
==2304==    by 0x10B143: main (query.cpp:69)
==2304==
==2304== 64 bytes in 1 blocks are definitely lost in loss record 136 of 171
==2304==    at 0x4C2CEFF: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==2304==    by 0x4014015: dl_open_worker (in /usr/lib/ld-2.26.so)
==2304==    by 0x5A5D143: _dl_catch_error (in /usr/lib/libc-2.26.so)
==2304==    by 0x4013319: _dl_open (in /usr/lib/ld-2.26.so)
==2304==    by 0x5F01E85: ??? (in /usr/lib/libdl-2.26.so)
==2304==    by 0x5A5D143: _dl_catch_error (in /usr/lib/libc-2.26.so)
==2304==    by 0x5F02586: ??? (in /usr/lib/libdl-2.26.so)
==2304==    by 0x5F01F21: dlopen (in /usr/lib/libdl-2.26.so)
==2304==    by 0x758EDE1: ??? (in /opt/intel/opencl/libtbbmalloc.so.2)
==2304==    by 0x400F519: call_init.part.0 (in /usr/lib/ld-2.26.so)
==2304==    by 0x400F625: _dl_init (in /usr/lib/ld-2.26.so)
==2304==    by 0x4013AFD: dl_open_worker (in /usr/lib/ld-2.26.so)
==2304==
==2304== 278 (240 direct, 38 indirect) bytes in 1 blocks are definitely lost in loss record 149 of 171
==2304==    at 0x4C2D56F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==2304==    by 0x69FE787: ??? (in /opt/intel/opencl/libintelocl.so)
==2304==    by 0x69750C0: ??? (in /opt/intel/opencl/libintelocl.so)
==2304==    by 0x6975911: ??? (in /opt/intel/opencl/libintelocl.so)
==2304==    by 0x698B734: clGetPlatformIDs (in /opt/intel/opencl/libintelocl.so)
==2304==    by 0x65284E3: ??? (in /opt/intel/opencl/libIntelOpenCL.so)
==2304==    by 0x6508F1F: ??? (in /opt/intel/opencl/libIntelOpenCL.so)
==2304==    by 0x4E3B77D: ??? (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x4E3D6CE: ??? (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x5CF1DBE: __pthread_once_slow (in /usr/lib/libpthread-2.26.so)
==2304==    by 0x4E3BD20: clGetPlatformIDs (in /opt/intel/opencl/libOpenCL.so.1)
===2304== 286 (248 direct, 38 indirect) bytes in 1 blocks are definitely lost in loss record 150 of 171
==2304==    at 0x4C2D56F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==2304==    by 0x69FE8B9: ??? (in /opt/intel/opencl/libintelocl.so)
==2304==    by 0x69750C0: ??? (in /opt/intel/opencl/libintelocl.so)
==2304==    by 0x6975911: ??? (in /opt/intel/opencl/libintelocl.so)
==2304==    by 0x698B734: clGetPlatformIDs (in /opt/intel/opencl/libintelocl.so)
==2304==    by 0x65284E3: ??? (in /opt/intel/opencl/libIntelOpenCL.so)
==2304==    by 0x6508F1F: ??? (in /opt/intel/opencl/libIntelOpenCL.so)
==2304==    by 0x4E3B77D: ??? (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x4E3D6CE: ??? (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x5CF1DBE: __pthread_once_slow (in /usr/lib/libpthread-2.26.so)
==2304==    by 0x4E3BD20: clGetPlatformIDs (in /opt/intel/opencl/libOpenCL.so.1)
==2304==    by 0x10B77C: cl::Platform::get(std::vector<cl::Platform, std::allocator<cl::Platform> >*) (cl.hpp:2338)
=2304==    by 0x10B77C: cl::Platform::get(std::vector<cl::Platform, std::allocator<cl::Platform> >*) (cl.hpp:2338)

[/code]

As you can see, I have tried three different ways to query the platforms (t0, t1 using the C API, t2 using the C++ API). How can I remove the memory leaks in my code? Am I doing something wrong?

 

barrier(CLK_LOCAL_MEM_FENCE) weird deadlock in kernel's local array when reduction

$
0
0

The code run well by clCreateProgramWithSource, BUT dealock by clCreateProgramWithBinary. The size of work group is (8,8), I reproduce the deadlock on Intel Graphics win8.1+ HD4600/530 and win10+HD630.

local int SumAlpha[16*16/4];
int index = 1*get_local_id(0)+ 16/2*get_local_id(1);
......
SumAlpha[index] = sum_alpha;

barrier(CLK_LOCAL_MEM_FENCE);
// do reduction in shared mem
for(int i = (16*16/8); i > 0; i >>= 1)
{
    if(index < i)
    {
        SumAlpha[index] += SumAlpha[index + i];
    }
    barrier(CLK_LOCAL_MEM_FENCE); // unroll loop show deadlock when i==8
}

the cmd which create spir is 

"..\vendors\OpenCL\Intel\bin\ioc32.exe -cmd=build -input="xxx" -device=gpu -spir32="FileName%" -bo="-cl-std=CL1.2 -I %ProjetcDir%\cl"

And I tried '-cl-opt-disable', same deadlock. I tried below equivalence, also deadlock.

a = SumAlpha[index];
b = SumAlpha[index + i];
SumAlpha[index] = a+ b;

I can use instruction dot to avoid reduction, while I want to know more. Did I miss something? Or is there any way to dump out the gen assembly of both way to compare their difference? Greatly Thanks.

cl_khr_gl_sharing extension present but CL_DEVICES_FOR_GL_CONTEXT_KHR returns no devices

$
0
0

Hi,

I'm following the GL/CL interop Intel tutorial on a Linux 4.9 kernel distro with an Intel N4200/HD Graphics 505.

The device reports having the "cl_khr_gl_sharing" extension and i've loaded the "clGetGLContextInfoKHR" function.

But when I try to get cl devices for gl context, I get 0 devices. This is the code:

// Create CL context properties, add GLX context & handle to DC
cl_context_properties properties[] = {
CL_GL_CONTEXT_KHR, (cl_context_properties)glXGetCurrentContext(), // GLX Context
CL_GLX_DISPLAY_KHR, (cl_context_properties)glXGetCurrentDisplay(), // GLX Display
CL_CONTEXT_PLATFORM, (cl_context_properties)platform, // OpenCL platform
0};
// Find CL capable devices in the current GL context
cl_device_id devices[32]; size_t size;
clGetGLContextInfoKHR(properties, CL_DEVICES_FOR_GL_CONTEXT_KHR, 32 * sizeof(cl_device_id), devices, &size);

Is Linux not supported? I'm using the official Linux OpenCL drivers.

Cheers

Russell

SDK 2017 R2 broken installer

too big max_constant_buffer_size on Intel HD Graphics

$
0
0

Hello,

We use OpenCL in our applications (xrt.rtfd.io) via pyopencl. I am trying to figure out where originates the segmentation fault that I am getting on Intel HD Graphics 620 but not on the other two devices in my list. By looking at device.max_constant_buffer_size I get:

- 64 KB on GeForce 940MX
- 2097152 KB (!) on Intel(R) HD Graphics 620
- 128 KB on Intel(R) Core(TM) i7-7500U CPU

Notice the 2nd value is so much different from the other two. Can you please confirm this value is correct. I first asked at pyopencl, they confirm that this value is merely passed by pyopencl and not created there.

Thanks!
Konstantin

 

For reference: OpenCL Platforms and Devices

 

Platform - Name:  NVIDIA CUDA

------------------------------------

Platform - Vendor:  NVIDIA Corporation

Platform - Version:  OpenCL 1.2 CUDA 9.1.104

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_fp64 cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_copy_opts cl_nv_create_buffer

Platform - Profile:  FULL_PROFILE

    --------------------------------------------------------

    Device - Name:  GeForce 940MX

    Device - Vendor:  NVIDIA Corporation

    Device - Type:  GPU

    Device - Max Clock Speed:  1241 Mhz

    Device - Compute Units:  3

    Device - Local Memory:  48 KB

    Device - Constant Memory:  64 KB

    Device - Global Memory: 2 GB

    Device - FP:  63

 

Platform - Name:  Intel(R) OpenCL

------------------------------------

Platform - Vendor:  Intel(R) Corporation

Platform - Version:  OpenCL 2.1 

Platform - Extensions:  cl_intel_dx9_media_sharing cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_d3d11_sharing cl_khr_depth_images cl_khr_dx9_media_sharing cl_khr_fp64 cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_image2d_from_buffer cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir

Platform - Profile:  FULL_PROFILE

    --------------------------------------------------------

    Device - Name:  Intel(R) HD Graphics 620

    Device - Vendor:  Intel(R) Corporation

    Device - Type:  GPU

    Device - Max Clock Speed:  1050 Mhz

    Device - Compute Units:  24

    Device - Local Memory:  64 KB

    Device - Constant Memory:  2097152 KB

    Device - Global Memory: 6 GB

    Device - FP:  63

    --------------------------------------------------------

    Device - Name:  Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz

    Device - Vendor:  Intel(R) Corporation

    Device - Type:  CPU

    Device - Max Clock Speed:  2700 Mhz

    Device - Compute Units:  4

    Device - Local Memory:  32 KB

    Device - Constant Memory:  128 KB

    Device - Global Memory: 16 GB

    Device - FP:  63

eclipse plug-in code builder erro (intel_sdk_for_opencl_2017_7.0.0.2568_x64)

$
0
0

The plug-in "code builder" throw error: can not find requisite library;

OS: ubuntu

eclipse version: 4.7.2

sdk version: intel_sdk_for_opencl_2017_7.0.0.2568_x64

And the setting of opencl preferences is correct as defaults:

opencl bin directory : /etc/alternatives/opencl-intel-tools/bin

opencl lib directory : /etc/alternatives/opencl-intel-tools/lib64

 

 


Open Cl Website

$
0
0

Yeah so Im trying to download the OpenCL drivers for the xeon processor family. However the problem is that the website contains the wrong links. Any version below 16.1.2 is for ubuntu 14.04 (i need 16.04 , and I recall to have downloaded this several months ago but I cant find the website again) And the download link for CL 16.1.2 (that says its for RHEL Centos AND ubuntu) turns out to be ONLY for Rhel and centos. please let me know where I can find openCL drivers for Ubuntu 16.04 thank you very much. 

https://software.intel.com/en-us/articles/opencl-drivers#latest_CPU_runtime

(the link i was given to go to for the download)

LLVM Error while implementing clBuildProgram

$
0
0

Hi all,

Recently I bought a new laptop.

I get the following error after starting clBuildProgram when running any of OpenCL code.

LLVM ERROR: Unknown error while opening the igdclbif.bin

clGetPlatformIDs, clGetDeviceIDs, clCreateContext, clCreateProgramWithSource all works.

I assume the complicated kernel code is cause and change it to the following simply

void a() {

}

But the problem is not disappeared.

I think the driver has problem.

When I triy to update graphics driver, I can see the message that the most recent driver available is already installed.

Does anyone have any idea to solve it?

Thanks all.

<Specification>

OS : Windows 10 64bit

OS Version : 1607

Model : LG 22V270-BZ10K

CPU : Celeron N3450 

GPU : HD Graphics 500

Driver Vesion : 21.20.16.4494

 

 

OpenCL GPU task slows down after a few minutes

$
0
0

I am developing an application doing some computation. After a few minutes, performance deteriorates up to 3 times slower. Occasionally, the GPU stays stuck, with intel_gpu_top showing 100% contantly. Also, in this state, intel_gpu_frequency hangs.

O/S: Linux guard3-NANOCOM-KBU 4.7.0.intel.r5.0 #1 SMP Tue Dec 26 16:58:27 EST 2017 x86_64 x86_64 x86_64 GNU/Linux

Hardware:  Intel(R) Core(TM) i7-7600U CPU @ 2.80GHz

When I run on a CPU device, performance is constant.

The only way I find to restore GPU performance is to reboot.

 

A sample test run looks

like: 20s....23s...45s...65s...64s....64s...

 

I am running the application in 4 threads like this: for i in {1..1000}; do  echo "trial #" $i;time ../Release/test_GPU 799739ts.bin10|../Release/test_GPU |../Release/test_GPU |../Release/test_GPU |../Release/test_GPU |../Release/test_GPU ; done

So I can't think of any effect "remembered" between runs.

I also checked temperatures, which look OK (~55 deg C at most).

Any help appreciated!

Uri

 

__ocl_svml_l9.so: error: symbol lookup error: undefined symbol: _ocl_svml_l9_powrf8_half and others

$
0
0

Hi,

I get the following runtime errors on Linux.

/opt/intel/opencl-1.2-6.4.0.25/lib64/__ocl_svml_l9.so: error: symbol lookup error: undefined symbol: _ocl_svml_l9_powrf8_half

(fatal)

similar errors occur for

*   _ocl_svml_l9_powrf8

*   _ocl_svml_l9_powrf8_half

*   _ocl_svml_l9_cvtfptoi32rtesatf4

*   _ocl_svml_l9_cvtfptoi32rtenosatf8

*   _ocl_svml_l9_cvtfptoi32rtesatf8

*   _ocl_svml_l9_powrf1_half

*   _ocl_svml_l9_cvtfptoi32rtenosatf1

*   _ocl_svml_l9_powrf4_half

*   _ocl_svml_l9_cvtfptoi32rtesatf1

*   _ocl_svml_l9_powrf4

*   _ocl_svml_l9_idiv8

*   _ocl_svml_l9_cvtfptou32rtesatf1

*   _ocl_svml_l9_cvtfptou32rtesatf4

*   _ocl_svml_l9_cvtfptou32rtesatf8

Which library should I link with to resolve these errors?

Thanks,

Rohit

 

libclang_compiler.so: error: symbol lookup error: undefined symbol: RegisterGlobalAtExitNotification

$
0
0

Hi,

I get the following runtime error on Linux.

/opt/intel/opencl-1.2-6.4.0.25/lib64/libclang_compiler.so: error: symbol lookup error: undefined symbol: RegisterGlobalAtExitNotification (fatal)

Which library should I link with to resolve these errors?

Thanks,

Rohit

Viewing all 1182 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>