0

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

我正在运行带有 AMD CPU 和 ATI GPU 的 windows 7、python 2.7。我已经更新了我的驱动程序。据我所知,我的 GPU 不支持 OpenCL,但我的 CPU 支持。

CPU:AMD速龙II X2 250

显卡:ATI Radeon HD 4600

import pyopencl as cl
import numpy

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

输出:

1

谢谢!

4

2 回答 2

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 )

我希望这会有所帮助!

于 2013-07-27T22:30:52.380 回答
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
于 2017-06-02T11:47:43.027 回答