我尝试使用Swift语言使用OpenCL(使用xcode6 Dp4,Yosemite DP4)失败:
import Cocoa
import OpenCL
-
-
var queue: dispatch_queue_t = gcl_create_dispatch_queue(CL_DEVICE_TYPE_GPU, nil)
-
-
“var queue ...”出现错误消息 - line; “Int32无法转换为gcl_queue_flags”。使用Objective-C或C时,代码行完美运行。测试OpenCL(和GCD好)似乎在游乐场不起作用。
答案 0 :(得分:3)
这是CL_DEVICE_TYPE_GPU
宏导入Swift的方式的问题 - 它是一个Int32,但该函数需要UInt64。因此,您可以使用cl_queue_flags(CL_DEVICE_TYPE_GPU)
进行转换。您可能还想file a bug。