创建PyOpenCl上下文会导致以后的访问冲突

时间:2019-02-15 16:21:30

标签: pyopencl

我刚刚开始使用pyopencl尝试OpenCL。我从这里得到

http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopencl

我编写了一些测试程序,执行工作按预期进行。比起我想开始进行大量仿真时,我因访问冲突而随机崩溃(Windows错误代码FFFFFFFFC0000005)。事实证明,导入pyopencl并创建上下文的任何脚本在一到两分钟后崩溃。我进行了3次测试,并获得了[63sec,86sec,81sec]。

通过设置环境变量PYOPENCL_CTX = 1:0,我确保上下文始终在我的'Intel(R)HD Graphics 620'卡上。

import pyopencl as cl
ctx = cl.create_some_context()

import time

i = 0
while True:
    print("Im alive since %i seconds" % i, flush = True)
    i += 1
    time.sleep(1.0)

我有一个来自Python.org的Python 3.7.2(tags / v3.7.2:9a3ffc0492,2018年12月23日,23:09:28)[MSC v.1916 64位(AMD64)]

编辑:

在删除环境变量并仅让外壳位于选择平台对话框中(没有选择平台)后,访问冲突大约一分钟后崩溃。

编辑:

我将Driver Vesion更新为最新的可用版本22.20.16.4771(从2017年8月13日开始),但是问题仍然存在。

1 个答案:

答案 0 :(得分:0)

这可能是由于驱动程序过时造成的。在计算机供应商不提供最新驱动程序的情况下,即使不能保证兼容性,也可以使用Intel的通用驱动程序。

Intel仅提供驱动程序作为自安装.exe,当它注意到那里的驱动程序的自定义版本正在运行时,不允许安装驱动程序。

但是,可以通过使自解压.exe不受限制来规避此检查。从它创建的temp文件夹中复制数据,然后使用widnows设备管理器手动安装这些驱动程序。不用说,这很容易破坏设置。