我正在尝试使用pyOpenCL,并且我遇到了运行示例的问题。我简化了代码,试图找出下面的内容。当我运行代码时,它只会打印1.它不会产生任何错误。如果我只是调用cl.create_some_context()。
,就会出现同样的情况我正在使用AMD CPU和ATI GPU运行Windows 7,python 2.7。我更新了我的司机。从我可以发现我的GPU不支持OpenCL,但我的CPU。
CPU:AMD Athlon 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 :(得分: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 )
我希望有所帮助!
答案 1 :(得分: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