Я надеюсь, что вы здесь, потому что не можете или не хотите использовать существующий образ докера сервера выводов Triton. У меня была та же причина, которая заставила меня потратить свои 3 недели на создание сервера логического вывода Triton с нуля на платформе RHEL7. Я нашел это очень трудоемким, так как для него недостаточно документации. Это были пробные и пробные попытки, и это отнимало очень много времени. Я делюсь своим опытом, так что это может сэкономить ваше время. Пожалуйста, не стесняйтесь оставлять свои предложения и отзывы.

Пожалуйста, обратитесь к https://github.com/triton-inference-server/server/blob/main/docs/build.md#building-on-unsupported-platforms, прежде чем переходить на мою страницу. Мой блог поможет вам создать его без Docker. Я создал свой собственный образ докера. Я построил это только для бэкэнда тензорного потока. Если вы хотите другой бэкэнд, вам, возможно, придется попробовать себя.

Добавить основной репозиторий Yum: cuda-rhel7

yum-config-manager — add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo

Установите требуемые библиотеки через yum:

yum install -y git vim autoconf automake boost-devel make openssl-devel python3-devel wget bzip2 patchelf bison gcc gcc-c++ libnccl libnccl-devel libnccl-static docker

Нам нужен GCC 9.3.0; Я не нашел репозиторий Centos7, поэтому установил его сам.

mkdir gcc-build && cd gcc-build && GCC_VERSION=9.3.0 && wget https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VERSION}/gcc-${GCC_VERSION}.tar.gz && tar xzvf gcc-${GCC_VERSION}.tar.gz && mkdir obj.gcc-${GCC_VERSION} && cd gcc-${GCC_VERSION} && ./contrib/download_prerequisites && cd ../obj.gcc-${GCC_VERSION} && ../gcc-${GCC_VERSION}/configure — disable-multilib — enable-languages=c,c++&& make -j 3 && make install

Нам нужна версия cmake-3.19. По умолчанию используется меньшая версия. Нам нужна версия 3.19 cmake для установки тритона

wget https://github.com/Kitware/CMake/releases/download/v3.19.8/cmake-3.19.8.tar.gz && tar -xf cmake-3.19.8.tar.gz && cd cmake-3.19 .8 && ./bootstrap && make && make install

Вам требуется re2 последней версии. Скачайте и установите его.

git clone https://github.com/google/re2.git && cd re2 && make && make test && make install && make

git проверить код тритона. Перейти в ветку r21.04

git clone https://github.com/triton-inference-server/server.git && cd server && git checkout -b r21.04 origin/r21.04

Установите тритон с помощью скрипта сборки:

./build.py — cmake-dir=/server/build‹это путь к каталогу сборки внутри родительского каталога кода tritonserver› — build-dir=/tmp/citritonbuild — no-container-build — endpoint=http — endpoint =grpc — repo-tag=common:r21.04 — repo-tag=core:r21.04 — repo-tag=backend:r21.04 — repo-tag=firstparty:r21.04 — backend=tensorflow1:r21.04 — включить-логирование — включить-статистику — включить-трассировку

Нам нужен glib версии 2.29. По умолчанию Centos rhel7 имеет версию 2.17.

нам нужен make-4.3 для установки glib 2.29, поэтому мы загружаем и устанавливаем версию make-4.3. Версия по умолчанию меньше в centos7.

wget https://ftp.gnu.org/gnu/make/make-4.3.tar.gz && tar xf make-4.3.tar.gz && cd make-4.3 && ./configure — prefix=/usr/local && сделать && сделать установить

Хорошо удалить старую версию, а затем загрузить и установить glib2.29.

ням удалить сделать

wget https://ftp.gnu.org/gnu/glibc/glibc-2.29.tar.gz && tar xf glibc-2.29.tar.gz && cd glibc-2.29 && mkdir glibc-build && cd glibc-build && ../configure — префикс=/usr && /usr/local/bin/make && /usr/local/bin/make install

Каталог /tmp/citritonbuild содержит установку бэкенда triton и pytorch. Переместите каталог /tmp/citritonbuild/opt/tritonserver в каталог /opt

cp -r /tmp/citritonbuild/opt/tritonserver /opt

Задайте путь:
export PATH=$PATH:/opt/tritonserver/bin

Если вы не хотите делать это самостоятельно, загрузите этот образ Docker с Docker Hub.
https://hub.docker.com/repository/docker/chandramohanmeena/centos7-tritonserver-tensorflow