Как я могу проверить совместимость с OpenCL? - PullRequest
14 голосов
/ 25 октября 2011

У меня есть MacBook Pro 13 'с интегрированным Intel HD 3000 и ядром i7.
Я должен использовать параллельное программирование.

Мои преподаватели не могли сказать мне, будет ли он работать с моим MacBook.

Могу ли я выполнить тест на своем ноутбуке для тестирования? + Я нашел это, но есть только SDK для Linux и Windows ... возможно, версия для Linux работает и для Mac.

Что мне делать?

Ответы [ 3 ]

40 голосов
/ 26 октября 2011

Вокаро ответ абсолютно правильно;вы можете всегда использовать вычислительное устройство CPU на Snow Leopard и Lion, даже если ваш конкретный графический чип не поддерживает OpenCL.

Следующая программа покажет вам устройства с поддержкой OpenCL наданный Macintosh:

// clang -framework OpenCL dumpcl.c -o dumpcl && ./dumpcl

#include <stdio.h>
#include <stdlib.h>
#include <OpenCL/opencl.h>

int main(int argc, char* const argv[]) {
    cl_uint num_devices, i;
    clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, 0, NULL, &num_devices);

    cl_device_id* devices = calloc(sizeof(cl_device_id), num_devices);
    clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, num_devices, devices, NULL);

    char buf[128];
    for (i = 0; i < num_devices; i++) {
        clGetDeviceInfo(devices[i], CL_DEVICE_NAME, 128, buf, NULL);
        fprintf(stdout, "Device %s supports ", buf);

        clGetDeviceInfo(devices[i], CL_DEVICE_VERSION, 128, buf, NULL);
        fprintf(stdout, "%s\n", buf);
    }

    free(devices);
}

На моем Macbook это дает:

Device Intel(R) Core(TM) i7-2635QM CPU @ 2.00GHz supports OpenCL 1.1 
Device ATI Radeon HD 6490M supports OpenCL 1.1 

Вы можете запросить другую информацию об устройстве, используя эту программу в качестве отправной точки.Ссылка на API Khronos для clGetDeviceInfo должна быть полезной.

3 голосов
/ 25 октября 2011

Вы можете использовать встроенную платформу OpenCL, поставляемую Apple с OS X Snow Leopard и Lion.Следуйте этому руководству:

http://developer.apple.com/library/mac/#documentation/Performance/Conceptual/OpenCL_MacProgGuide/

Обратите внимание, что он не будет работать на графическом процессоре Intel HD 3000, только на процессоре.

0 голосов
/ 12 ноября 2011

Я тестировал OpenCL на MacBook Air 2011, который имеет Core i5-2467M.И я могу сказать вам, что реализация OpenCL, сделанная Apple, НЕ работает должным образом на процессоре, только на GPU.Большая проблема, когда вы устанавливаете размер рабочей группы больше 1.

...