#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 файл