Opencl error 1001

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 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.

asked Feb 10, 2011 at 16:13

tnorgd's user avatar

tnorgdtnorgd

1,5502 gold badges13 silver badges24 bronze badges

1

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.

answered Jan 5, 2015 at 17:56

EvgenijM86's user avatar

EvgenijM86EvgenijM86

2,0891 gold badge17 silver badges10 bronze badges

2

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.

answered Feb 12, 2011 at 0:18

joachimd's user avatar

1

Same problem for me on a Linux system. Solution is to add the user to the video group:

# sudo usermod -aG video your-user-name

Community's user avatar

answered May 19, 2012 at 17:31

ther's user avatar

therther

8488 silver badges16 bronze badges

1

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.

answered Jan 23, 2012 at 14:23

user1165115's user avatar

I have solved it in Ubuntu 13.10 saucy for intel opencl by created link:

sudo ln -s /opt/intel/opencl-1.2-3.2.1.16712/etc/intel64.icd /etc/OpenCL/vendors/nvidia.icd

answered Feb 9, 2014 at 16:43

masuch's user avatar

masuchmasuch

3391 gold badge2 silver badges8 bronze badges

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

answered Mar 24, 2015 at 7:40

user4706374's user avatar

This is because OpenCL has the same brain damaged one library per vendor setup that OpenGL has. A likely reason for the -1001 error is that you have compiled with a different library than the linker is trying to dynamically load.

So see if this is the problem run:

$ ldd oclDeviceQuery        
        ...
        libOpenCL.so.1 => important path here (0x00007fe2c17fb000)
        ...

Does the path point towards the NVidia-provided libOpenCL.so.1 file? If it doesn’t, you should recompile the program with an -L parameter pointing towards the directory containing NVidia’s libOpenCL.so.1. If you can’t do that, you can override the linker’s path like this:

$ LD_LIBRARY_PATH=/path/to/nvidias/lib ./oclDeviceQuery

answered Sep 18, 2022 at 19:38

Björn Lindqvist's user avatar

Björn LindqvistBjörn Lindqvist

18.7k18 gold badges83 silver badges122 bronze badges

For me, I was missing the CUDA OpenCL library, Running sudo apt install cuda-opencl-dev-12-0 solved it.

answered Dec 26, 2022 at 8:49

Richard Vodden's user avatar

This might be due to querying clGetPlatformIDs by multiple threads at the same time

answered Jul 14, 2015 at 0:36

Sriram Murali's user avatar

Sriram MuraliSriram Murali

5,6642 gold badges26 silver badges32 bronze badges

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.

asked Feb 10, 2011 at 16:13

tnorgd's user avatar

tnorgdtnorgd

1,5502 gold badges13 silver badges24 bronze badges

1

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.

answered Jan 5, 2015 at 17:56

EvgenijM86's user avatar

EvgenijM86EvgenijM86

2,0891 gold badge17 silver badges10 bronze badges

2

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.

answered Feb 12, 2011 at 0:18

joachimd's user avatar

1

Same problem for me on a Linux system. Solution is to add the user to the video group:

# sudo usermod -aG video your-user-name

Community's user avatar

answered May 19, 2012 at 17:31

ther's user avatar

therther

8488 silver badges16 bronze badges

1

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.

answered Jan 23, 2012 at 14:23

user1165115's user avatar

I have solved it in Ubuntu 13.10 saucy for intel opencl by created link:

sudo ln -s /opt/intel/opencl-1.2-3.2.1.16712/etc/intel64.icd /etc/OpenCL/vendors/nvidia.icd

answered Feb 9, 2014 at 16:43

masuch's user avatar

masuchmasuch

3391 gold badge2 silver badges8 bronze badges

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

answered Mar 24, 2015 at 7:40

user4706374's user avatar

This is because OpenCL has the same brain damaged one library per vendor setup that OpenGL has. A likely reason for the -1001 error is that you have compiled with a different library than the linker is trying to dynamically load.

So see if this is the problem run:

$ ldd oclDeviceQuery        
        ...
        libOpenCL.so.1 => important path here (0x00007fe2c17fb000)
        ...

Does the path point towards the NVidia-provided libOpenCL.so.1 file? If it doesn’t, you should recompile the program with an -L parameter pointing towards the directory containing NVidia’s libOpenCL.so.1. If you can’t do that, you can override the linker’s path like this:

$ LD_LIBRARY_PATH=/path/to/nvidias/lib ./oclDeviceQuery

answered Sep 18, 2022 at 19:38

Björn Lindqvist's user avatar

Björn LindqvistBjörn Lindqvist

18.7k18 gold badges83 silver badges122 bronze badges

For me, I was missing the CUDA OpenCL library, Running sudo apt install cuda-opencl-dev-12-0 solved it.

answered Dec 26, 2022 at 8:49

Richard Vodden's user avatar

This might be due to querying clGetPlatformIDs by multiple threads at the same time

answered Jul 14, 2015 at 0:36

Sriram Murali's user avatar

Sriram MuraliSriram Murali

5,6642 gold badges26 silver badges32 bronze badges

Here started guide on ussing OpenCL on ROCm. https://rocm.github.io/QuickStartOCL.html.

Overview
ROCm 1.6 introduces big updates to our OpenCL compiler and runtime implementation – built on top of the ROCm software stack!
This developer release includes the following:
OpenCL 2.0 compatible kernel language support with OpenCL 1.2 compatible runtime
OpenCL compiler also has assembler and disassembler support, inline assembly support is now in place.
Big improvements in the base compiler as we roll in new optimization for application in new Native LLVM code generator.
We made our base compiler intrinsics source code available
OCML https://github.com/RadeonOpenCompute/ROCm-Device-Libs/blob/master/doc/OCML.md
Source code for the Intrinsic https://github.com/RadeonOpenCompute/ROCm-Device-Libs/tree/master/opencl/src
Supports offline ahead of time compilation and in-process/in-memory compilation.
Binary Package support for Ubuntu 16.04 and Fedora 24
Quickstart Instructions
Here’s a simple workflow to get you quickly up and running with OpenCL on ROCm –
Install the ROCm OpenCL implementation (assuming you already have the ‘rocm’ package installed):

sudo apt-get install rocm-opencl-dev
For a sample OpenCL application, let’s use a simple vector-add example from the University of Bristol’s very nice “Hands On OpenCL” lectures.

git clone https://github.com/HandsOnOpenCL/Exercises-Solutions.git

cd Exercises-Solutions/Exercises/Exercise02/C

make
CCFLAGS=»-I$OPENCL_ROOT/include/opencl1.2 -O3 -DDEVICE=CL_DEVICE_TYPE_DEFAULT»
LIBS=»-L$OPENCL_ROOT/lib/x86_64 -lOpenCL -lm»

./vadd
Not for all your application that supported the AMDGPU SDK for OpenCL to get the Header, rocm-opencl-dev now included the headerfiles.

If your built all your code with the AMDAPPSDK you do not need to download anything else, you can just export envrioment varible to /opt/rocm/opencl Do not install the AMDAPPSDK 3.0 on ROCm OpenCL it designed for old driver which need headers installed. rocm-opencl-dev package does this for you.

Example 1 for AMDAPPSDKROOT

export AMDAPPSDKROOT=/opt/rocm/opencl
Example 2 for AMDAPPSDK

export AMDAPPSDK=/opt/rocm/opencl
Where is clinfo?

/opt/rocm/opencl/bin/x86_64/clinfo
That’s it! Super easy.

Related Resources
ROCm Developer website will have more information: http:/rocm.github.io

University of Bristol’s “Hands On OpenCL” course webpage: https://handsonopencl.github.io/

Содержание

  1. Opencl error code 1001
  2. clGetPlatformIDs() returns -1001
  3. clGetPlatformIDs(-1001) on Hawaii GPU with ROCm 2.0 #668
  4. Comments
  5. Opencl error code 1001
  6. ERROR: clGetPlatformID -1001 при запуске кода OpenCL (Linux)
  7. Получение ICD
  8. Nvidia Optimus с шмелем
  9. Opencl error code 1001
  10. OpenCL error -1001

Opencl error code 1001

Success! Subscription added.

Success! Subscription removed.

Sorry, you must verify to complete this action. Please click the verification link in your email. You may re-send via your profile.

clGetPlatformIDs() returns -1001

  • Subscribe to RSS Feed
  • Mark Topic as New
  • Mark Topic as Read
  • Float this Topic for Current User
  • Bookmark
  • Subscribe
  • Mute
  • Printer Friendly Page
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report Inappropriate Content

I have installed the latest intel opencl sdk 2012

However the application stops at the point when it calls clGetPlatformIDs()

The function returns -1001

I can confirm that registry keys point correctly to IntelOpenCL32/64.dll, and the files exist in the system path

My CPU is i5-2500K

The same program runs fine on another pc with AMD opencl driver and i3 cpu

Please help and advise

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report Inappropriate Content

-1001 = CL_PLATFORM_NOT_FOUND_KHR, and is returned when clGetPlatformIDs() sees no platforms available. Obviously, you are trying to execute your code on the Intel HD graphics. Can you list the driver version you are using?

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report Inappropriate Content

I want to run my code on CPU. I understand that it should be possible.

The idea is to have a CPU-fallback option when there is no compliant GPU, which is the case with sandy bridge.

More info: on the 2nd machine, with working amd opencl, I also installed intel opencl, and guess what? It still shows only amd platform.

I think I have the latest driver (maybe late 2012)

Источник

clGetPlatformIDs(-1001) on Hawaii GPU with ROCm 2.0 #668

After updating my ROCm setup to v2.0 via apt my OpenCL setup is broken.
I managed to fix the issue with missing firmware files (#640),
but executing clinfo now runs into
ERROR: clGetPlatformIDs(-1001)
Calling clinfo -v just shows the same error.

Do you have an idea where this could come from?

My system is a Ubuntu 18.04.1 (4.15.0-43-generic) with two R9 390 (Hawaii) GPUs
and two Xeon E5-2690 v0 CPUs.
The previous version of rocm (1.9.x), installed via Debian PPA as well,
worked fine on this machine.

Please let me know if you need further information.

The text was updated successfully, but these errors were encountered:

I was able to get a bit further by compiling clinfo against libamdocl64.so instead of libOpenCL.so (see below). This probably means that something is not right about how libOpenCL connects to libamdocl64.so via an ICD file. The device is not there yet though.

I believe I know what the problem is. Could you try modifying the following line and then rebuilding the ROCm OpenCL runtime? (You can find scripts in the Experimental ROC project for rebuilding the OpenCL runtime)

In rocdefs.hpp, the line with HSA_HAWAII_ID looks like the following:

Could you change it to instead say the following?

If, for example, you are using Ubuntu 18.04, you should be able to run the following Experimental ROC scripts to rebuild the ROCm OpenCL runtime:

    distro_install_scripts/Ubuntu/Ubuntu_18.04/src_install/component_scripts/01_07_opencl.sh —get_code_only —source_dir

/rocm_src/ This will download the source code for the ROCm OpenCL runtime

  • Modify runtime/device/rocm/rocdefs.hpp based on what I described above
  • distro_install_scripts/Ubuntu/Ubuntu_18.04/src_install/component_scripts/01_07_opencl.sh —required to install the software needed to build the ROCm OpenCL Runtime
  • distro_install_scripts/Ubuntu/Ubuntu_18.04/src_install/component_scripts/01_07_opencl.sh —source_dir

    /rocm_packages/ —local This will build the modified ROCm OpenCL runtime .deb packages and put them into

    Источник

    Opencl error code 1001

    Could you please run it and post the output?

    I also have this problem,and can not slove it for days.

    My system is centos 6.2 ,I install

    ]# grep -m 1 name /proc/cpuinfo
    model name : Intel(R) Core(TM) i3-4160 CPU @ 3.60GHz

    ]# lspci | grep VGA
    00:02.0 VGA compatible controller: Intel Corporation Device 041e (rev 06)
    [root@server

    ]# /root/capsbasic
    OpenCL error with code -1001 happened in file capsbasic.cpp at line 106. Exiting.

    ]# history | grep rpm

    1089 rpm -e opencl-1.2-intel-cpu-6.4.0.25-1.x86_64
    1090 rpm -e opencl-1.2-base-pset-6.4.0.25-1.noarch
    1091 rpm -e opencl-1.2-base-6.4.0.25-1.x86_64
    1092 rpm -qa | grep opencl
    1095 sudo rpm -Uvh intel-opencl-r5.0-63503.x86_64.rpm
    1096 sudo rpm -Uvh intel-opencl-devel-r5.0-63503.x86_64.rpm
    1097 sudo rpm -Uvh intel-opencl-cpu-r5.0-63503.x86_64.rpm
    1124 history | grep rpm
    [root@stor-186 opencl]#

    ]# ls -l /etc/OpenCL/vendors/intel.icd
    -rw-r—r— 1 root root 36 May 26 16:08 /etc/OpenCL/vendors/intel.icd
    [root@stor-186 opencl]#

    • Отметить как новое
    • Закладка
    • Подписаться
    • Отключить
    • Подписка на RSS-канал
    • Выделить
    • Печать
    • Сообщить о недопустимом содержимом

    I install Centos7 and solve the problem,but CL_DEVICE_TYPE_GPU is 0,is there anyone who can help me?

    /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

    Источник

    ERROR: clGetPlatformID -1001 при запуске кода OpenCL (Linux)

    После того, как, наконец, мне удалось скомпилировать мой код с помощью OpenCL, я не могу заставить выходной двоичный файл работать! Это на моем ноутбуке linux под управлением Kubuntu 13.10 x64

    Ошибка, которую я получаю (напечатано из cl:: Ошибка):

    Я нашел этот пост, но, похоже, не существует четкого решения.

    Я добавил себя в группу видео, но это, похоже, не работает.

    Что касается профиля ICD… Я не уверен, что мне нужно сделать – разве это не должно быть включено в набор инструментов cuda? Если нет, где я могу загрузить его?

    EDIT. Кажется, у меня есть ICD файл в моей системе в /usr/share/nvidia -331/nvidia.icd. Он содержит следующий текст:

    Единственный файл в моей системе, который напоминает это:

    Является ли мой профиль ICD некорректным? Кто-нибудь знает способ исправить это?

    (Моды: я не уверен, что этот пост должен быть перенесен в AskUbuntu, поскольку это проблема, связанная с Linux шмелем, а не с самим OpenCL?)

    Хорошо, поэтому мне удалось решить проблему после усилий.

    Есть две вещи, которые мне нужно сделать:

    Получение ICD

    создать символическую ссылку из /usr/share/nvidia -331/nvidia.icd в/etc/OpenCL/vendors

    ПРИМЕЧАНИЕ. В большинстве случаев вам нужно будет заменить nvidia-331 любым используемым драйвером – чаще всего nvidia-current

    Мне действительно интересно узнать, почему это не делается автоматически при установке инструментария cuda – но я заметил, что программы OpenCL не будут работать без этого шага!

    Nvidia Optimus с шмелем

    Причина, по которой так сложно было работать, заключалась в том, что у меня ноутбук nvidia optimus с плохой поддержкой драйверов на Linux. Чтобы исправить это, я установил bumblebee, чтобы разрешить переключение между моей карточкой nvidia и платой Intel.

    Однако, поскольку я использую шмель – графическая карта nvidia (и драйвер nvidia) будет выгружена, если это явно не указано. Чтобы использовать OpenCL, нам нужно включить графическую карту nvidia.

    Для этого нам нужно явно указать шмелю, чтобы включить карту nvidia, используя команды optirun или primusrun :

    Обратите внимание, что все, что имеет значение, это то, что карта nvidia включена и драйверы загружены, вам не нужно использовать optirun myprogram , чтобы заставить это работать (так как это всегда связано с начальной задержкой ожидания графическая карта для инициализации).

    Вы можете запустить optirun kate , например, и включить графическую карту nvidia. Затем вы можете в отдельном терминале просто запустить программу opencl без optirun, и она будет работать нормально, так как графическая карта уже включена (и будет оставаться до тех пор, пока вы покидаете, например, kate running).

    Вы заметите, что на этот раз нет никакой задержки при запуске вашей программы! Это экономит вам много времени, особенно если вы разрабатываете программу opencl, о которой идет речь.

    Еще раз, пока вы держите видеокарту nvidia включенной, ваша программа opencl будет работать.

    Я, вероятно, свяжусь с разработчиками bumblebee, чтобы узнать, есть ли более простой способ заставить это работать и сообщить, что они здесь говорят. Надеемся, что есть способ включить и выключить карту nvidia, не требуя поддержки программы (например, kate в моем примере).

    Я надеюсь, что это поможет любому, кто хочет использовать OpenCL на ноутбуках linux с шмелем в будущем (я не смог найти никаких ясных решений для очистки)

    EDIT2: включение и выключение видеокарты можно сделать следующим образом для пользователей bumlebee:

    Включить графическую карту и загрузить модуль nvidia

    Отключить видеокарту (модуль nvidia автоматически разгружается)

    Предоставить дополнительную информацию. Я установил версию intel opencl на Ubuntu 13.10. Проблема была одна и та же: ошибка -1001. Я решил его по ссылке аналогично предыдущему сообщению:

    Источник

    Opencl error code 1001

    Готово! Подписка добавлена.

    Готово! Подписка удалена.

    Извините, вы должны пройти верификацию для завершения этого действия. Нажмите ссылку верификации в своем электронном сообщении. Вы можете повторить отправку через свой профиль.

    OpenCL error -1001

    • Подписка на RSS-канал
    • Отметить тему как новую
    • Отметить тему как прочитанную
    • Выполнить отслеживание данной Тема для текущего пользователя
    • Закладка
    • Подписаться
    • Отключить
    • Страница в формате печати
    • Отметить как новое
    • Закладка
    • Подписаться
    • Отключить
    • Подписка на RSS-канал
    • Выделить
    • Печать
    • Сообщить о недопустимом содержимом

    I am using two Intel Xeon Phi co-processors on a machine having RHEL 7.2 . I have installed MPSS 3.7.2 & Intel sdk for openCL 2016 6.2.0.

    Both processors are being shown using micinfo command but when I tried to run samples given at https://software.intel.com/en-us/intel-opencl-support/code-samples they got compiled but they are not running properly as I get error -1001 which is thrown when no platforms are available.

    • Отметить как новое
    • Закладка
    • Подписаться
    • Отключить
    • Подписка на RSS-канал
    • Выделить
    • Печать
    • Сообщить о недопустимом содержимом

    Hi, It sounds like you need the OpenCL Drivers installed which are available from:

    • Отметить как новое
    • Закладка
    • Подписаться
    • Отключить
    • Подписка на RSS-канал
    • Выделить
    • Печать
    • Сообщить о недопустимом содержимом

    I concur with joshbowden.

    I’d like to add that you will need to install the deprecated 14.2 driver, as that is the latest release that included Xeon Phi support. The RPM I normally install is opencl-1.2-intel-mic-4.5.0.8

    Also note that OpenCL on Xeon Phi is no longer supported by Intel, but I can confirm that the (OpenCL 1.2 !) driver above still works.

    Источник

  • Я пытаюсь начать работать с OpenCL. У меня есть две видеокарты NVidia, я установил «драйвер разработчика», а также SDK с веб-сайта NVidia. Я скомпилировал демо, но когда я запускаю

    ./oclDeviceQuery

    Я вижу:

    Информация о программном обеспечении OpenCL:

    Ошибка -1001 в вызове clGetPlatformIDs!!!

    Как я могу это исправить? Означает ли это, что мои карты nvidia не могут быть обнаружены? Я использую Ubuntu 10.10, и X-сервер работает правильно с драйвером nvidia.

    Я почти уверен, что проблема не связана с правами доступа к файлам, поскольку она также не работает с sudo.

    10 ответы

    В моем случае я решил это, установив nvidia-modprobe пакет доступен в Ubuntu (utopic/multiverse). А сам драйвер (v346) устанавливался с
    https://launchpad.net/~mamarley/+archive/ubuntu/nvidia

    Конкретно я установил nvidia-opencl-icd-346, nvidia-libopencl1-346, nvidia-346-uvm, nvidia-346 и libcuda1-346. Не уверен, что все они нужны для OpenCL.

    Создан 05 янв.

    Это результат того, что не установлена ​​часть ICD среды выполнения Nvidia openCL. Профиль ICD проинструктирует ваше приложение о различных реализациях openCL, установленных в системе, поскольку несколько реализаций от разных поставщиков могут сосуществовать. Когда ваше приложение не находит информацию ICD, оно выдает ошибку -1001.

    Создан 12 фев.

    Запустите вашу программу как root. В случае успеха: у вас проблемы с расширением cl_khr_icd для загрузки драйвера производителя. Если вы не используете X11, вам необходимо создать файлы устройства вручную или с помощью (загрузочного) сценария:
    ОШИБКА: clGetPlatformIDs -1001 при запуске кода OpenCL (Linux)

    ответ дан 23 мая ’17, 13:05

    Та же проблема для меня в системе Linux. Решение состоит в том, чтобы добавить пользователя в группу видео:

    # sudo usermod -aG video your-user-name
    

    Создан 25 июля ’12, 15:07

    Поскольку я трачу на это всего пару часов, я решил поделиться: я получил ошибку, потому что я был подключен к машине через удаленный рабочий стол (mstsc). На самой машине все работало нормально.

    Кстати, мне сказали, что он должен работать с TeamViewer.

    Создан 23 янв.

    ответ дан 23 мая ’17, 12:05

    Я решил это в Ubuntu 13.10 saucy для Intel OpenCL по созданной ссылке:

    sudo ln -s /opt/intel/opencl-1.2-3.2.1.16712/etc/intel64.icd /etc/OpenCL/vendors/nvidia.icd
    

    Создан 09 фев.

    Я только что столкнулся с этой проблемой в Ubuntu 14.04 и не смог найти НИКАКИХ рабочих ответов нигде в Интернете, включая эту тему (хотя это было первое, что появилось в Google). В итоге мне удалось удалить ВСЕ предыдущее программное обеспечение nvidia, а затем переустановить его с помощью файла .run, представленного на веб-сайте nvidia. Установка компонентов через apt-get почему-то не удалась.

    1) Загрузите файл CUDA .run: https://developer.nvidia.com/cuda-downloads

    2) Очистить все предыдущие пакеты nvidia

    sudo apt-get purge nvidia-*
    

    3) Установите все компоненты файла запуска (вам, вероятно, придется остановить X или перезапустить в режиме восстановления, чтобы запустить это)

    sudo sh cuda_X.X.XX_linux.run
    

    ответ дан 24 мар ’15, в 07:03

    Это может быть связано с одновременным запросом идентификаторов clGetPlatformID несколькими потоками.

    Создан 14 июля ’15, 01:07

    Создан 28 фев.

    Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками

    opencl
    nvidia

    or задайте свой вопрос.

    После того, как, наконец, мне удалось скомпилировать мой код с помощью OpenCL, я не могу заставить выходной двоичный файл работать! Это на моем ноутбуке linux под управлением Kubuntu 13.10 x64

    Ошибка, которую я получаю (напечатано из cl:: Ошибка):

    ERROR: clGetPlatformIDs
    -1001
    

    Я нашел этот пост, но, похоже, не существует четкого решения.

    Я добавил себя в группу видео, но это, похоже, не работает.

    Что касается профиля ICD… Я не уверен, что мне нужно сделать – разве это не должно быть включено в набор инструментов cuda? Если нет, где я могу загрузить его?

    EDIT. Кажется, у меня есть ICD файл в моей системе в /usr/share/nvidia -331/nvidia.icd. Он содержит следующий текст:

    libnvidia-opencl.so.1
    

    Единственный файл в моей системе, который напоминает это:

    /usr/lib/nvidia-331/libnvidia-opencl.so.331.20
    

    Является ли мой профиль ICD некорректным? Кто-нибудь знает способ исправить это?

    (Моды: я не уверен, что этот пост должен быть перенесен в AskUbuntu, поскольку это проблема, связанная с Linux шмелем, а не с самим OpenCL?)

    Хорошо, поэтому мне удалось решить проблему после усилий.

    Есть две вещи, которые мне нужно сделать:

    Получение ICD

    создать символическую ссылку из /usr/share/nvidia -331/nvidia.icd в/etc/OpenCL/vendors

    sudo ln -s /usr/share/nvidia-331/nvidia.icd /etc/OpenCL/vendors
    

    ПРИМЕЧАНИЕ. В большинстве случаев вам нужно будет заменить nvidia-331 любым используемым драйвером – чаще всего nvidia-current

    Мне действительно интересно узнать, почему это не делается автоматически при установке инструментария cuda – но я заметил, что программы OpenCL не будут работать без этого шага!

    Nvidia Optimus с шмелем

    Причина, по которой так сложно было работать, заключалась в том, что у меня ноутбук nvidia optimus с плохой поддержкой драйверов на Linux. Чтобы исправить это, я установил bumblebee, чтобы разрешить переключение между моей карточкой nvidia и платой Intel.

    Однако, поскольку я использую шмель – графическая карта nvidia (и драйвер nvidia) будет выгружена, если это явно не указано. Чтобы использовать OpenCL, нам нужно включить графическую карту nvidia.

    Для этого нам нужно явно указать шмелю, чтобы включить карту nvidia, используя команды optirun или primusrun:

    optirun myopenclprogram
    

    Обратите внимание, что все, что имеет значение, это то, что карта nvidia включена и драйверы загружены, вам не нужно использовать optirun myprogram, чтобы заставить это работать (так как это всегда связано с начальной задержкой ожидания графическая карта для инициализации).

    Вы можете запустить optirun kate, например, и включить графическую карту nvidia. Затем вы можете в отдельном терминале просто запустить программу opencl без optirun, и она будет работать нормально, так как графическая карта уже включена (и будет оставаться до тех пор, пока вы покидаете, например, kate running).

    Вы заметите, что на этот раз нет никакой задержки при запуске вашей программы! Это экономит вам много времени, особенно если вы разрабатываете программу opencl, о которой идет речь.

    Еще раз, пока вы держите видеокарту nvidia включенной, ваша программа opencl будет работать.

    Я, вероятно, свяжусь с разработчиками bumblebee, чтобы узнать, есть ли более простой способ заставить это работать и сообщить, что они здесь говорят. Надеемся, что есть способ включить и выключить карту nvidia, не требуя поддержки программы (например, kate в моем примере).

    Я надеюсь, что это поможет любому, кто хочет использовать OpenCL на ноутбуках linux с шмелем в будущем (я не смог найти никаких ясных решений для очистки)

    EDIT2: включение и выключение видеокарты можно сделать следующим образом для пользователей bumlebee:

    Включить графическую карту и загрузить модуль nvidia

    sudo tee /proc/acpi/bbswitch <<< ON
    sudo modprobe nvidia
    

    Отключить видеокарту (модуль nvidia автоматически разгружается)

    sudo tee /proc/acpi/bbswitch <<< OFF
    

    Recommend Projects

    • React photo

      React

      A declarative, efficient, and flexible JavaScript library for building user interfaces.

    • Vue.js photo

      Vue.js

      🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

    • Typescript photo

      Typescript

      TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

    • TensorFlow photo

      TensorFlow

      An Open Source Machine Learning Framework for Everyone

    • Django photo

      Django

      The Web framework for perfectionists with deadlines.

    • Laravel photo

      Laravel

      A PHP framework for web artisans

    • D3 photo

      D3

      Bring data to life with SVG, Canvas and HTML. 📊📈🎉

    Recommend Topics

    • javascript

      JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

    • web

      Some thing interesting about web. New door for the world.

    • server

      A server is a program made to process requests and deliver data to clients.

    • Machine learning

      Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

    • Visualization

      Some thing interesting about visualization, use data art

    • Game

      Some thing interesting about game, make everyone happy.

    Recommend Org

    • Facebook photo

      Facebook

      We are working to build community through open source technology. NB: members must have two-factor auth.

    • Microsoft photo

      Microsoft

      Open source projects and samples from Microsoft.

    • Google photo

      Google

      Google ❤️ Open Source for everyone.

    • Alibaba photo

      Alibaba

      Alibaba Open Source for everyone

    • D3 photo

      D3

      Data-Driven Documents codes.

    • Tencent photo

      Tencent

      China tencent open source team.

    Понравилась статья? Поделить с друзьями:

    Читайте также:

  • Opencart как изменить статус товара
  • Opencart как изменить размер баннера
  • Opencart как изменить дизайн сайта
  • Opencart как изменить баннер
  • Opencart seo url internal server error

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии