У меня есть сервер, оснащенный 24 процессорами Intel (R) Xeon (R) и устройствами Tesla K80 GPU. Каждый процессор имеет 6 ядер. Я хочу разработать параллельную программу, которая работает на всех процессорах и их ядрах. Я начал работу с рамки OpenCL. Когда я список платформ, доступных на сервере, я получаю только одну платформу со следующей информацией:Параллельное программирование на нескольких процессорах на одном сервере
Количество платформ: 1
Название: NVIDIA CUDA
Производитель: NVIDIA Corporation
Версия: OpenCL 1.2 CUDA 8.0.0
профиля: FULL_PROFILE
Расширение: 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_copy_opts
не должен их быть другая платформа для процессоров?
Если это невозможно в OpenCL, существует ли еще одна структура, которая помогает использовать все процессоры (и их ядра) для параллельных программ?
Необходимо установить Intel OpenCL runtime – Jovasa
. Или вы можете установить встроенный драйвер gppu от Intel, но если у вас нет этого igpu, вам нужно установить время автономной работы для opencl, как указано в @Jovasa: https://software.intel .com/EN-US/статьи/OpenCL-драйвера. Если вы используете mpi, вы можете делать чистое с помощью хост-кода. MPI + opencl должен включить gpu и cpu. –
Я уверен, что у Xeons нет igpus – Jovasa