Сродство процессора в OpenCL
Можем ли мы навязать сродство к Prossor в OpenCl? Например, поток № 1 выполняется на процессоре № 5,
поток № 2 выполняется на процессоре № 6, поток № 3 выполняется на процессоре № 7 и так далее?
Спасибо
1 ответ
Насколько я знаю, вы не можете указать сходство на этом низком уровне с OpenCL. Но, начиная с OpenCL 1.2, есть некоторый контроль над сродством путем разделения на подустройства с помощью clCreateSubDevices (возможно, с одним процессором в каждом подустройстве с помощью CL_DEVICE_PARTITION_BY_COUNTS, 1
) и выполнение отдельных исполнений ядра на каждом подчиненном устройстве.
Скорее всего, это будет плохо работать на чем-либо, кроме реализации OpenCL на базе процессора, и мне придется задаться вопросом, почему вы захотите сделать такую вещь. Если вы хотите ограничить использование процессора для реализации OpenCL-CPU, вы можете использовать clCreateSubDevices
разделить некоторые из ваших вычислительных ресурсов.
PDF-файл с описанием "деления устройств" от Intel находится здесь, и в нем содержится много информации о том, как использовать разделение устройств и clCreateSubDevices
эффективно.