【发布时间】:2012-10-21 07:29:04
【问题描述】:
我想在我的平台上为特定设备创建上下文。但是我遇到了一个错误。
代码:
import pyopencl as cl
platform = cl.get_platforms()
devices = platform[0].get_devices(cl.device_type.GPU)
ctx = cl.Context(devices[0])
我得到的错误:
Traceback (most recent call last):
File "D:\Programming\Programs_OpenCL_Python\Matrix Multiplication\3\main3.py", line 16, in <module>
ctx = cl.Context(devices[0])
AttributeError: 'Device' object has no attribute '__iter__'
如果我使用,程序编译和执行没有任何错误和警告:
ctx = cl.create_some_context()
但每次使用此功能执行程序时,我都必须手动选择设备类型。 我可以设置如下环境变量
PYOPENCL_CTX='0'
使用它,我将无法根据要求为可用的不同设备创建上下文。对于我创建的所有上下文,它将默认设置为设备 0。
谁能帮我解决这个问题。
谢谢
【问题讨论】: