Создание контекста PyOpenCl вызывает последующее нарушение прав доступа - PullRequest
0 голосов
/ 15 февраля 2019

Я только начал экспериментировать с OpenCL, используя pyopencl.Я получил его отсюда

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

Я написал несколько тестовых программ и сработал, как и ожидалось.Затем, когда я захотел запустить большую серию симуляций, я получил случайные сбои с нарушениями доступа (код ошибки Windows FFFFFFFFC0000005).Оказывается, что любой скрипт, в который я импортирую pyopencl и создаю контекст, падает через одну-две минуты.Я запустил 3 теста и получил [63сек, 86сек, 81сек].

Я удостоверился, что контекст всегда на моей карте Intel (R) HD Graphics 620 ', установив переменную среды PYOPENCL_CTX = 1: 0

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 3.7.2 (tags / v3.7.2: 9a3ffc0492, 23 декабря 2018, 23:09:28) [MSC v.1916 64 бит (AMD64)] с python.org

Редактировать:

После удаления переменной среды и просто оставить оболочку в диалоговом окне выбора платформы - без выбора платформы - примерно через минуту происходит сбой Access Violation.

Редактировать:

Я обновил Driver Vesion до последней доступной версии 22.20.16.4771 (от 13.08.2017), но проблема сохраняется.

1 Ответ

0 голосов
/ 18 февраля 2019

Это может быть связано с устаревшим драйвером.В случае, если поставщик компьютера не предоставляет обновленные драйверы, может работать универсальный драйвер от Intel, даже если нет гарантии совместимости.

Intel предоставляет драйвер только в качестве самоустановочного .exe, который не '• разрешить установку драйверов, когда он замечает, что запущена пользовательская версия этих драйверов.

Однако эту проверку можно обойти, разрешая самораспаковывающемуся .exe разархивировать.Скопируйте данные из временной папки, которую он создает, а затем вручную установите эти драйверы с помощью диспетчера устройств widnows.Само собой разумеется, что это легко может нарушить настройку.

...