2011-10-25 26 views
13

Tôi có một MacBook Pro 13 'với một tích hợp Intel HD 3000 và một lõi i7.
Tôi phải sử dụng Lập trình song song.Làm cách nào để kiểm tra tính khả dụng của OpenCL?

Cố vấn giảng dạy của tôi không thể cho tôi biết liệu nó có hoạt động với MacBook của tôi hay không.

Tôi có thể chạy thử nghiệm trên Máy tính xách tay để thử nghiệm không? + Tôi tìm thấy điều này, nhưng chỉ có Linux và Windows SDK ... có thể phiên bản Linux cũng hoạt động với Mac.

Tôi nên làm gì?

Trả lời

37

câu trả lời của vocaro là hoàn toàn chính xác; bạn có thể luôn luôn sử dụng thiết bị tính toán CPU trên Snow Leopard và Lion, ngay cả khi chip đồ họa cụ thể của bạn không hỗ trợ OpenCL.

Các chương trình sau đây sẽ cho bạn thấy các thiết bị OpenCL có khả năng trên máy Macintosh đưa ra:

// 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); 
} 

On Macbook của tôi, điều này mang lại:

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

Bạn có thể yêu cầu thông tin thiết bị khác sử dụng này chương trình như một điểm khởi đầu. Tham chiếu API Khronos cho clGetDeviceInfo sẽ hữu ích.

+1

hiện điều này làm việc với Linux quá? – user1876508

+0

Điều này có vi phạm với OSX 10.9? Khi tôi chạy này tôi nhận được: dumpcl.c: 1: 10: lỗi nghiêm trọng: 'stdio.h' tập tin không tìm thấy – deweydb

+0

Nevermind, có vẻ như là Công cụ phát triển xcode biến mất sau khi nâng cấp, bạn có thể kích hoạt cài đặt lại bằng cách chạy: xcode-select --install – deweydb

3

Bạn có thể sử dụng nền tảng OpenCL tích hợp mà Apple giao hàng với OS X Snow Leopard và Lion. Thực hiện theo hướng dẫn này:

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

Lưu ý rằng nó sẽ không hoạt động trên Intel HD 3000 GPU, chỉ có CPU.

+0

Tôi thích cách Apple tạo OpenCL, làm cho nó trở thành chuẩn mở sau đó về cơ bản hãy để sự hỗ trợ của họ cho nó yếu đi. Phiên bản OpenCL mới nhất mà họ hỗ trợ tổng thể là 1.2, tính đến hôm nay (2017) vào khoảng 3 năm tuổi. :( – Entalpi

0

Tôi đã thử nghiệm OpenCL trên máy macbook air 2011, có Core i5-2467M. Và tôi có thể nói với bạn rằng thực hiện OpenCL được thực hiện bởi apple, DOES không hoạt động tốt trên CPU, chỉ trên GPU. Vấn đề lớn là khi bạn thiết lập kích thước nhóm làm việc lớn hơn 1.

+1

Tôi bị mất: có hay không nó hoạt động trên GPU? Tôi đang đọc ở mọi nơi Intel HD 3000 không hỗ trợ openCL ... –

Các vấn đề liên quan