Подтвердить что ты не робот

Как я могу проверить совместимость с OpenCL?

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

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

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

Что я должен делать?

4b9b3361

Ответ 1

Ответ vocaro абсолютно правильный; вы всегда можете использовать вычислительное устройство 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 должна быть полезна.

Ответ 2

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

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

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

Ответ 3

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