CORAL TPU
Настройка Coral M.2 Accelerator на Proxmox VE (Linux)
Данная инструкция описывает процесс установки драйверов для Coral M.2 Accelerator и обеспечения совместимости библиотек TPU с Python 3.10 на Proxmox VE. Это решение объединяет официальные подходы с проверенными сообществом обходными путями для специфических ядер Proxmox и зависимостей Ubuntu 22.04 LTS (на которой основан Proxmox VE).
Раздел 1: Установка драйвера Gasket (версия M.2)
Официальная инструкция (coral.ai) может не сработать из-за того, что Proxmox использует специализированное ядро. Стандартные заголовки ядра (linux-headers) не подходят. Вам необходимо установить Proxmox-специфичные заголовки (`pve-headers`), чтобы вручную скомпилировать драйверы.
- Установите Proxmox-специфичные заголовки ядра и инструменты сборки:
sudo apt install build-essential git pve-headers-$(uname -r)
- Клонируйте репозиторий драйвера и перейдите в папку с исходниками:
git clone https://github.com/google/gasket-driver
cd gasket-driver/src
- Соберите и установите модули ядра (gasket и apex):
# Сборка модулей
sudo make -C /lib/modules/$(uname -r)/build M=$PWD modules
# Установка модулей
sudo make -C /lib/modules/$(uname -r)/build M=$PWD modules_install
sudo depmod -a
- Загрузите модули:
sudo modprobe gasket
sudo modprobe apex
Раздел 2: Обеспечение совместимости с Python 3.10
На современных дистрибутивах (Debian 12/Ubuntu 22.04+), которые использует Proxmox VE, по умолчанию установлен Python 3.10. Официальная библиотека `python3-pycoral` требует Python < 3.10, что вызывает конфликт зависимостей при стандартной установке (`sudo apt install python3-pycoral`). Мы используем обходной путь с установкой pre-built .whl файлов.
- Добавьте репозиторий Google Edge TPU и его GPG ключ (современный метод):
echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" | sudo tee /etc/apt/sources.list.d/coral-edgetpu.list
mkdir -p /etc/apt/keyrings/
curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/coral-edgetpu.gpg
- Обновите список пакетов:
sudo apt-get update
- Установите Edge TPU runtime:
sudo apt-get install libedgetpu1-std
- Настоятельно рекомендуется создать виртуальное окружение Python (venv) перед установкой, чтобы избежать глобальных конфликтов.
# Установите python3-venv (если еще нет)
sudo apt install python3-venv -y
# Создайте и активируйте виртуальное окружение
python3 -m venv ~/nc_tpu_venv
source ~/nc_tpu_venv/bin/activate
- Все последующие команды pip должны выполняться внутри этого активированного venv.*
- Скачайте и установите tflite-runtime и pycoral, используя pre-built .whl файлы для Python 3.10. Вы можете найти их в этом репозитории:
pip install tflite_runtime-2.5.0.post1-cp310-cp310-linux_x86_64.whl
pip install pycoral-2.0.0-cp310-cp310-linux_x86_64.whl
Раздел 3: Завершение и проверка
- После успешной установки не забудьте настроить Nextcloud для использования Coral TPU. В `/etc/php/8.x/fpm/conf.d/php.ini` добавьте параметры для tflite и pycoral.
- Перезагрузите систему, чтобы убедиться, что модули ядра загружаются автоматически.
- Убедитесь, что индикатор на Coral M.2 Accelerator мигает, указывая на активность.