Использование GPU не от NVIDIA

Использование GPU не от NVIDIA

Это руководство объясняет, как использовать GPU AMD и GPU Apple Silicon с PyTorch в контексте EvoX.

Хотя GPU NVIDIA являются надёжным выбором и обычно обеспечивают высокую производительность, новые модели оптимизированы для рабочих нагрузок глубокого обучения и больших языковых моделей. Многие их расширенные функции, такие как поддержка типов данных с низкой точностью, в настоящее время недостаточно используются в EvoX. В некоторых случаях GPU не от NVIDIA могут обеспечить лучшую производительность и более низкую стоимость для эволюционных задач.

Поддержка GPU AMD

Поддержка GPU AMD в PyTorch обеспечивается через ROCm. Устройства AMD распознаются как устройства cuda (так же, как GPU NVIDIA). Для использования GPU AMD:

  1. Установите версию PyTorch, совместимую с ROCm.
  2. Используйте стандартную настройку устройства, например, device = torch.device("cuda").

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

Поддержка GPU Apple Silicon

Если у вас Mac с Apple Silicon, вы можете использовать встроенный GPU для ускорения рабочих нагрузок EvoX. GPU Apple Silicon поддерживаются через бэкенд Metal Performance Shaders (MPS) и доступны с помощью устройства mps в PyTorch.

Для использования GPU Apple Silicon:

  1. Убедитесь, что у вас установлена версия PyTorch, совместимая с MPS.
  2. Переместите тензоры и модели на устройство mps, например, device = torch.device("mps").

Примечание: Устройство mps не поддерживает компиляцию (например, #evox.compile).