Установка PuzzleLib на Linux и macOS

Общие требования

Для работы с PuzzleLib, необходимо иметь следующие системные зависимости:

  • С++ компилятор (gcc, clang);
  • python \geq 3.5 (64 битный).

Дополнительные требования

CUDA (NVIDIA GPU)

Для работы с видеокартами NVIDIA требуются:

HIP (AMD GPU)

DNNL (Intel|AMD CPU)

  • DNNL одной из версий [1.1, 1.2, 1.91]

После распаковки скачанный архив .dylib надо перенести из /lib/ в /usr/local/lib.

Important

Не рекомендуется устанавливать Intel-бэкенд через brew, потому что в сборке содержится устаревшая версия mkl-dnn.

Некоторые функции библиотеки, которые не поддерживаются DNNL, будут выполняться на nump бэкенде.

TensorRT (только инференс для NVIDIA GPU)

Путь к файлам TensorRT необходимо прописать в системной переменной TRT_PATH, иначе TensorRT будет предполагаться установленным в /usr/local/cuda.

OpenVINO (только инференс для Intel CPU)

Путь к файлам OpenVINO необходимо прописать в системной переменной OPENVINO_PATH, иначе OpenVINO будет предполагаться установленным в ~/openvino.

Установка из PyPI

Для установки версии, работающей на чистом numpy бэкенде и имеющей урезанный функционал:

$ pip3 install PuzzleLib

Также на выбор есть две опции:

  • backend - какой дополнительно бэкенд поставить; возможные варианты - cuda, hip, intel;
  • converter - какой конвертер подготовить для ускоренного инференса; возможные варианты - tensorrt, openvino.

Например:

установка cuda и hip бэкендов:

$ pip3 install PuzzleLib --install-option="--backend=cuda,hip"

установка cuda бэкенда, а также tensorrt конвертера:

$ pip3 install PuzzleLib --install-option="--backend=cuda" --install-option="--converter=tensorrt"

Установка из исходников

Выберите и скачайте нужный релиз на странице релизов.

Распакуйте архив по выбранному вами пути (path/to/PuzzleLib).

Установить библиотеку можно прямым вызовом скрипта setup.py:

$ python3 /path/to/PuzzleLib/setup.py install --backend=cuda

Либо с помощью pip:

$ pip3 install /path/to/PuzzleLib --install-option="--backend=cuda"

См. Установка из PyPI для ознакомления с возможными опциями установки.

Tip

Изменения системных переменных консоли становятся видны только после перезапуска консоли, поэтому, если у вас что-то не работает - попробуйте закрыть-открыть консоль.

Выбор бэкенда

from PuzzleLib import Config
Config.backend = Config.Backend.cuda # для использования NVIDIA CUDA бэкенда
Config.backend = Config.Backend.hip # для использования AMD ROCm бэкенда
Config.backend = Config.Backend.cpu # для использования CPU numpy бэкенда
Config.backend = Config.Backend.intel # для использования Intel/AMD CPU DNNL бэкенда