Ubuntu OpenCL не может найти графический процессор Intel на устройстве с двумя графическими процессорамиC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Ubuntu OpenCL не может найти графический процессор Intel на устройстве с двумя графическими процессорами

Сообщение Anonymous »

Я пытаюсь написать приложение opencl C++ на старом ноутбуке с Ubuntu. Он имеет два графических процессора, которые отображаются, когда я запускаю lspci | grep VGA:

Код: Выделить всё

00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation GK107M [GeForce GT 650M] (rev a1)
Теперь я проверил, поддерживает ли каждый графический процессор OpenCL или нет, оказалось, что NVIDIA не поддерживает OpenCL, а Intel поддерживает.
Когда я запускаю clinfo, я получаю:

Код: Выделить всё

  Platform Name                                   rusticl
Platform Vendor                                 Mesa/X.org
Platform Version                                OpenCL 3.0
Platform Profile                                FULL_PROFILE
Platform Extensions                             cl_khr_byte_addressable_store cl_khr_create_command_queue cl_khr_expect_assume cl_khr_extended_versioning cl_khr_icd cl_khr_il_program cl_khr_spirv_no_integer_wrap_decoration
Platform Extensions with Version                cl_khr_byte_addressable_store                                    0x400000 (1.0.0)
cl_khr_create_command_queue                                      0x400000 (1.0.0)
cl_khr_expect_assume                                             0x400000 (1.0.0)
cl_khr_extended_versioning                                       0x400000 (1.0.0)
cl_khr_icd                                                       0x400000 (1.0.0)
cl_khr_il_program                                                0x400000 (1.0.0)
cl_khr_spirv_no_integer_wrap_decoration                          0x400000 (1.0.0)
Platform Numeric Version                        0xc00000 (3.0.0)
Platform Extensions function suffix             MESA
Platform Host timer resolution                  1ns

Platform Name                                   Clover
Platform Vendor                                 Mesa
Platform Version                                OpenCL 1.1 Mesa 24.0.9-0ubuntu0.2
Platform Profile                                FULL_PROFILE
Platform Extensions                             cl_khr_icd
Platform Extensions function suffix             MESA

Platform Name                                   rusticl
Number of devices                                 0

Platform Name                                   Clover
Number of devices                                 0

NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  rusticl
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   
clCreateContext(NULL, ...) [default]            No devices found in platform
clCreateContext(NULL, ...) [other]              
clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  No devices found in platform
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)  No devices found in platform

ICD loader properties
ICD loader Name                                 OpenCL ICD Loader
ICD loader Vendor                               OCL Icd free software
ICD loader Version                              2.3.2
ICD loader Profile                              OpenCL 3.0
Когда я запускаю этот код C++, я получаю следующую ошибку:

Код: Выделить всё

    err = clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, 1, &device_id, NULL);

if (err != CL_SUCCESS)
printf("Error: Failed to create a device group! %d\n", err);

В результате будет получен следующий результат:

Код: Выделить всё

2 platform(s) found

Error: Failed to create a device group! -1
Какому коду ошибки соответствует: CL_DEVICE_NOT_FOUND
Почему устройство не может быть найдено? Выбран ли по умолчанию графический процессор NVIDIA, и если да, то как я могу заменить его на процессор Intel?

Подробнее здесь: https://stackoverflow.com/questions/791 ... gpu-device
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»