Pycuda test_driver.py вызывает ошибку атрибута

#pycuda

#pycuda

Вопрос:

Я пытаюсь установить pycuda на Linux Mint с установленной GeForce 960M и Cuda 8.0. Когда я запускаю test_driver.py скрипт выдает следующую ошибку:

============================= начинается тестовая сессия ============================== платформа linux2 — Python 2.7.12, pytest-3.0.3, py-1.4.31, pluggy-0.4.0 rootdir: /home/milton/Downloads/pycuda-2016.1.2, inifile: собрано 28 элементов

test_driver.py ………………. x…..F..

=================================== НЕУДАЧИ =================================== ________________________ Тестовый драйвер.test_multi_context _________________________

аргументы = (,), kwargs = {}

pycuda = <модуль ‘pycuda’ из ‘/home/milton/miniconda2/lib/python2.7/site-packages/pycuda-2016.1.2-py2.7-linux-x86_64.egg/pycuda/init.pyc’>

ctx =Контекстный объект в 0x7f540e39d758>

clear_context_caches = <функция clear_context_caches в 0x7f540ee26758> сбор = <сбор встроенной функции>

 def f(*args, **kwargs):
    import pycuda.driver
    # appears to be idempotent, i.e. no harm in calling it more than once
    pycuda.driver.init()

    ctx = make_default_context()
    try:
        assert isinstance(ctx.get_device().name(), str)
        assert isinstance(ctx.get_device().compute_capability(), tuple)
        assert isinstance(ctx.get_device().get_attributes(), dict)
  
       inner_f(*args, **kwargs)
  

../../../miniconda2/lib/python2.7/site-packages/pycuda-2016.1.2-py2.7-linux-x86_64.egg/pycuda/tools.py:460:


self =Экземпляр TestDriver в 0x7f540c21fc20>

 @mark_cuda_test
def test_multi_context(self):
    if drv.get_version() < (2,0,0):
        return
    if drv.get_version() >= (2,2,0):
  
       if drv.Context.get_device().compute_mode == drv.compute_mode.EXCLUSIVE:
  

Ошибка атрибута: объект типа ‘compute_mode’ не имеет атрибута ‘EXCLUSIVE’

test_driver.py:638: ошибка атрибута ================ 1 потерпел неудачу, 26 пройдено, 1 xfailed за 6,92 секунды ================

Ответ №1:

режим вычисления драйвера python поддерживает только следующие режимы:

ПО УМОЛЧАНИЮ, ЗАПРЕЩЕНО, EXCLUSIVE_PROCESS

поэтому, пожалуйста, измените это:

если drv.Context.get_device().compute_mode == drv.compute_mode.Эксклюзив:

Для

если drv.Context.get_device().compute_mode == drv.compute_mode.EXCLUSIVE_PROCESS:

в вашем test_driver.py файл