Error -1001 in clGetPlatformIDs Call !

2020-02-13 07:14发布

I am trying to start working with OpenCL. I have two NVidia graphics card, I installed "developer driver" as well as SDK from NVidia website. I compiled the demos but when I run

./oclDeviceQuery

I see:

OpenCL SW Info:

Error -1001 in clGetPlatformIDs Call !!!

How can I fix it? Does it mean my nvidia cards cannot be detected? I am running Ubuntu 10.10 and X server works properly with nvidia driver.

I am pretty sure the problem is not related to file permissions as it doesn't work with sudo either.

标签: opencl nvidia
10条回答
女痞
2楼-- · 2020-02-13 07:36

In my case I have solved it by installing nvidia-modprobe package available in ubuntu (utopic/multiverse). And the driver itself (v346) was installed from
https://launchpad.net/~mamarley/+archive/ubuntu/nvidia

Concretely, I have installed nvidia-opencl-icd-346, nvidia-libopencl1-346, nvidia-346-uvm, nvidia-346 and libcuda1-346. Not sure if they are all needed for OpenCL.

查看更多
手持菜刀,她持情操
3楼-- · 2020-02-13 07:39

Since I just spend a couple of hours on this, I thought I would share: I got the error because I was connected to the machine per remote desktop (mstsc). On the machine itself everything worked fine.

I have been told that it should work with TeamViewer by the way.

查看更多
我欲成王,谁敢阻挡
4楼-- · 2020-02-13 07:42

You should get number of platforms, allocate the memory for platforms, again get this platforms and then create context from this platform. There is good example: http://developer.amd.com/support/KnowledgeBase/Lists/KnowledgeBase/DispForm.aspx?ID=71

查看更多
Animai°情兽
5楼-- · 2020-02-13 07:43

This is a result of not installing the ICD portion of Nvidia's openCL runtime. The ICD profile will instruct your application of the different openCL implementations installed on the system as multiple implementations from different vendors can coexist. Whe your application does not find the ICD information it gives the Error -1001.

查看更多
▲ chillily
6楼-- · 2020-02-13 07:46

I just ran into this problem on ubuntu 14.04 and I could not find ANY working answers anywhere online including this thread (though this was the first to show up on google). What ended up working for me was to remove ALL previous nvidia software and then to reinstall it using the .run file provided on the nvidia website. Installing the components through apt-get seems to fail for some reason.

1) Download CUDA .run file: https://developer.nvidia.com/cuda-downloads

2) Purge all previous nvidia packages

sudo apt-get purge nvidia-*

3) Install all run file components (you will likely have to stop X or restart in recovery mode to run this)

sudo sh cuda_X.X.XX_linux.run
查看更多
女痞
7楼-- · 2020-02-13 07:50

Run your program as root. In case of success: you have trouble with cl_khr_icd- extension to load the vendor driver. If you not running X11, you have to create device files manually or by (boot-)script: ERROR: clGetPlatformIDs -1001 when running OpenCL code (Linux)

查看更多
登录 后发表回答