在Mac Pro上,我需要找到连接到屏幕的GPU的cl_device_id。
CGLGetDeviceFromGLRenderer(在WWDC 2014,Session 601中)被提及为将OpenGL渲染器的虚拟屏幕号转换为等效的OpenCL设备ID的API。
问题是CGLGetDeviceFromGLRenderer仅在OS X 10(Yosemite)上可用。
Mac OS 10.9是否有替代方法或解决方法?
答案 0 :(得分:1)
您可以自己编写该功能:
#if !defined(MAC_OS_X_VERSION_10_10)
cl_device_id CGLGetDeviceFromGLRenderer(GLint rendererID)
{
// For GPUs that support OpenCL in Mac OS X, the rendererID may be
// transformed into a cl_device_id by masking away the low byte:
// https://developer.apple.com/library/mac/technotes/tn2335/_index.html
cl_device_id device_id = (cl_device_id)(intptr_t)(rendererID &~ 0xff);
return device_id;
}
#endif