Как заставить Pycharm использовать другой набор инструментов CUDA - PullRequest
0 голосов
/ 12 апреля 2019

Я хочу запустить модуль MXNet в графическом процессоре.

У меня есть система, в которой установлена ​​Ubuntu 18.04 вдоль Cuda 10.0.Очевидно, это еще не покрыто бинарными файлами MXNet, поэтому я сосредоточился на установке 2 версий cuda на моем компьютере (см. Также здесь ).

В любом случае, у меня теперь есть2 набора инструментов cuda в моем компьютере в разных папках.Мне нужен способ заставить мою систему использовать Cuda 9.2 при запуске из PyCharm.Самое смешное, что с типичной консоли я могу нормально ее запустить (по крайней мере часть загрузки MXNet, которая, конечно,).

В модуле, который я хочу запустить, программа застряла в:

import mxnet as mx

, что приводит к base.py в MXNet:

def _load_lib():
    """Load library by searching possible path."""
    lib_path = libinfo.find_lib_path()
    lib = ctypes.CDLL(lib_path[0], ctypes.RTLD_LOCAL)  # <- This is where is throws the error.
    # DMatrix functions
    lib.MXGetLastError.restype = ctypes.c_char_p
    return lib

странно то, что lib_path[0] просто указывает на местоположение libmxnet.so (что, кстати, правильно) ивнезапно выдает ошибку:

OSError: libcudart.so.9.2: невозможно открыть общий объектный файл: нет такого файла или каталога

Даже если я отслеживаю трассировку ошибкипоследняя команда такова:

self._handle = _dlopen(self._name, mode)

с self._name в том же месте, что и libmxnet.so.

Я попытался заставить его работать, изменив системную переменную с помощью

os.environ["LD_LIBRARY_PATH"] = "/usr/local/cuda-9.2/lib64"

в качестве второй строки модуля (1-й, конечно, import os!), Но, похоже, это не работает.Видимо, это принято во внимание.

Итак, как я могу обойти это?Любое решение будет приемлемым, если вы находитесь на стороне MXNet или pyCharm.

1 Ответ

0 голосов
/ 15 апреля 2019

Ну, чтобы сделать это доступным для всех, кто сталкивается с той же проблемой, я опубликую свое решение.

Мне удалось заставить его работать, определив переменную окружения внутри pycharm из меню конфигурации запуска (которое доступно из Выполнить-> Выполнить ... или Alt + Shift + F10 ) и определив его как переменную среды.

LD_LIBRARY_PATH: /usr/local/cuda-9.2/lib64

Я не уверен, почему для этого случая pycharm работает нормально, тогда как когда в коде определена та же самая переменная, это не так (любое объяснение приветствуется).

...