How to resolve the mismatch between OpenCl Library and OpenCl platform? - opencl

Openvino inference crashes. I think the source of issue is the note at the end of clinfo command:
your OpenCL library only supports OpenCL 2.1,
but some installed platforms support OpenCL 3.0.
Programs using 3.0 features may crash or behave unexpectedly
How can I upgrade my OpenCL library to 3.0 to resolve the issue?
OS: Ubuntu 20.04
Kernel: 5.15.2-051502-generic
The content of /etc/OpenCL/vendors/intel.icd file is:
/usr/lib/x86_64-linux-gnu/intel-opencl/libigdrcl.so

Try installing the latest Intel Compute Engine 21.45.21574 and see if it resolves the issue.

Related

ArrayFire OpenCL Issue

I have installed ArrayFire 3.8.0 using the binary installer as per the instructions mentioned in the documentation. All dependencies were installed before installing it. NVIDIA CUDA Toolkit 11.3 is also installed. Installation was successful.
To test the installation, I have also build the examples as mentioned in the guide. There was no error during the build process. CPU & CUDA builds are running fine but OpenCL samples are not running. When I execute ./helloworld_opencl example, nothing happens on terminal. No process is shown in top & nvidia-smi.
Please guide me what could be the issue here. Clinfo command is running fine. I am on Ubuntu 20.04.
Thanks

OpenCL.jl CL_PLATFORM_NOT_FOUND_KHR

This week I've faced a very popular error: CL_PLATFORM_NOT_FOUND_KHR using OpenCL.jl. However nothing found in google helps to overcome it. I've tried complete reinstalling CUDA, using different versions of drivers etc.
What's strange: deviceQuery CUDA tool works as expected, while julia has that error.
I don't know why I have been looking at CUDA but not at OpenCL.
dpkg -l | grep nvidia
shows all the truth:
ii nvidia-375 375.39-0ubuntu5 amd64 NVIDIA binary driver - version 375.39
ii nvidia-375-dev 375.26-0ubuntu1 amd64 NVIDIA binary Xorg driver development files
ii nvidia-driver-local-repo-ubuntu1604 375.51-1 amd64 nvidia-driver-local repository configuration files
ii nvidia-modprobe 375.51-0ubuntu1 amd64 Load the NVIDIA kernel driver and create device files
ii nvidia-opencl-icd-375 375.51-0ubuntu1 amd64 NVIDIA OpenCL ICD
ii nvidia-prime 0.8.4 amd64 Tools to enable NVIDIA's Prime
ii nvidia-settings 375.51-0ubuntu1 amd64 Tool for configuring the NVIDIA graphics driver
Here you can see I've had different versions of nvidia drivers and nvidia-opencl-icd-375. Installing correct version of it with
sudo apt install nvidia-opencl-icd-375=375.39-0ubuntu5
made it finally work.
For some reason I can't yet install latest (375.51) version of nvidia drivers, there are some dependency problems with xorg-video-abi. But that's already enough for me.

Installing OpenCL on XeonPhi

Because I don't have device to test so I ask this question
If i use OpenCL on XeonPhi I only want install the driver and runtimes of XeonPhi (https://software.intel.com/en-us/articles/opencl-drivers), then OpenCL can run and complier code, is that right ? And how about MPSS (https://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss-archive#33n-2) i see when deverlop OpenCL on Linux, must install MPSS and driver and runtimes of XeonPhi.
I haven't found a document introduced the detail about using OpenCL on XeonPHi on WindowOS , Can you share with me some document about this ?
The Intel® Xeon Phi™ coprocessor always runs Linux. However, you can run either Linux or Windows on the host system. Regardless of which operating system you run on your host, you will always install a version of the MPSS.
If you want to run Windows on your host system and use OpenCL with the coprocessor, you would use the OpenCL™ Runtime 14.2 for Intel® CPU and Intel® Xeon Phi™ coprocessors for Windows* (64-bit) which would give you a Windows compatible runtime for your host and a Linux compatible runtime for the coprocessor. There is no OpenCL™ Code Builder for Windows, independent of the Intel® INDE and Intel® Media Server Studio, neither of which support the 14.2 version of the runtime.

"Unsupported gpu architecture 'compute_30'" while installing gpu tools for R

I was trying to install 'gputools' and 'rpud', but got the same "nvcc fatal : Unsupported gpu architecture 'compute_30" error for both.
I assume something is wrong with my CUDA kit configuration.
I installed:
CUDA drivers 3.1.17
CUDA toolkit 3.2.17
GPU computing SDK 3.1
I can see CUDA panel in system preferences, and the path to NVCC is placed as well.
Machine is MAC Book Pro with OSX 10.6.8, Nividia gt 330m (with drivers 256.00.35f12), Intel Core i7
Maybe someone could help to solve this problem?
I believe that at the time of CUDA Toolkit 3.2 there were no devices of compute capability 3.0. However, support for the cards of compute capability 3.0 is obviously required by 'gputools' and 'rpud' so you should simply install newer CUDA Toolkit such as 6.5, latest driver etc., that already support compute capability 3.0.
Also, your GPU, GT330m, is only of compute capability 1.2, so in the end, once you do all of the above, you won't be able to run the software using your GPU anyway.
Also, I have no knowledge of 'gputools', nor 'rpud', but I presume you are talking about this package. If so, then quoting from linked resource:
SystemRequirements: Nvidia's CUDA toolkit (>= release 5.0)

Creating a binary dependant on Qt 5

I created a development environment with Fedora 18 and Qt 5
When I compile my app it will be 64 bit, and depend on Qt 5. After some research it seems that will be a problem since Centos 6.x is still dependong on Qt 4.6, and Centos 5.x is dependant on earlier Qt, and I'm guessin Ubuntu has its own package limitations.
Is there a "safe" version of Qt I can compile against to ensure it runs everywhere? If not, how can I expect customers to run my program?
If you want to target Linux, then I would recommend using Qt 4.8 (available on most of the Linux Distros), forget about Qt 5 for a year or so. Hardly any Linux distro other than Ubuntu 13.04 and above comes with Qt 5.
Secondly, as far as compiling is considered, if you wish to target Linux distros other than Ubuntu and Fedora than never use Ubuntu or Fedora for compilation. These are bleeding edge Linux distros which include new libraries without much testing. You will not only face the problem of old Qt versions in some Linux distros as you will face the bigger problem of glibc (C library). Make sure the Linux distro you use for compilation has a minimum possible glibc version for Qt 4.8, otherwise even if any Linux distro has Qt 4.8 installed, but has a lower version of glibc, you app still won't run. You can check out distrowatch.com to find out glibc and Qt versions for any Linux Distro
Example:
I compiled my app on Ubuntu 12.04, Qt 4.8.1 with glibc v 2.16 (perhaps). I got a bug report than application does not run on CrunchBang which also has Qt 4.8.1 available but since it is a Debian unstable Linux Distro it uses glibc v2.13. Since that day I always compile my application on CrunchBang (very lighweight, you can Virtual Box for this) and hardly some one complains now.
As far as CentOs is considered, you will need to recompile your code on CentOS.

Resources