2013-06-05 69 views
0

我想开始使用pyOpenCL,我遇到了运行示例的问题。我简化了代码,试图弄清楚我下面发生了什么。当我运行代码时,它只会打印1.它不会产生任何错误。如果我只是调用cl.create_some_context(),也会发生同样的情况。pyOpenCL没有运行,没有错误

我正在运行Windows 7,带AMD CPU和ATI GPU的python 2.7。我已经更新了我的司机。从我所能找到的我的GPU不支持OpenCL,但我的CPU。

CPU:AMD速龙II X2 250

GPU:ATI的Radeon HD 4600

import pyopencl as cl 
import numpy 

print 1 
cl.get_platforms() 
print 2 
cl.create_some_context() 
print 3 

输出:

1 

谢谢!

回答

0

要获得关于您的问题的更多信息 - 您可能希望以更明确的方式设置您的上下文。

让你的平台上的设备列表:

pyopencl.get_devices(device_type = device_type.ALL) 

选择首选设备:

for found_device in my_platform.get_devices(): 
    if pyopencl.device_type.to_string(found_device.name) == 'GPU': 
     device = found_device 

创建一个从设备类型的背景下,或(设备列表DEVICE_TYPE:ALL,GPU ,CPU):

context = pyopencl.Context(devices = None | [dev1, dev2], dev_type = None) 

我希望有帮助!

0

测试此代码

import pyopencl as cl 
platforms = cl.get_platforms() 
len(platforms) 
gpu_devices = platforms[0].get_devices(cl.device_type.GPU) 
gpu_devices 

cpu_devices = platforms[0].get_devices(cl.device_type.CPU) 
cpu_devices