GPU-плоттер
Autonomys использует хранилище накопителей, в частности SSD или NVMe для хранения участков. После того, как процесс плоттинга будет завершен, эти участки будут питаться процессором. Фарминг не является особенно требовательным для CPU, что позволяет большинству современных процессоров управлять значительными размерами плота. Тем не менее, процесс создания участка является весьма интенсивным с точки зрения ресурсов, что приводит к тому, что ЦП укладывает основные узкие места.
Использование GPU плоттинга позволяе т использовать мощность совместимых GPU для генерации и отрисовки участков, либо в сочетании с процессором, либо в качестве его замены. Хотя многие современные процессоры могут завершить построение сектора менее чем за две минуты, единый высокопроизводительный GPU может выполнить одну и ту же задачу за пять секунд, значительно повышая эффективность и скорость.
Хотя построение графика на GPU не является обязательным, оно обеспечивает повышенную энергоэффективность и скорость по сравнению с использованием исключительно центрального процессора.
Совместимость платформ
Платформа | 🐧 Linux | 🪟 Windows | Nvidia | AMD | Intel |
---|---|---|---|---|---|
CLI | ✅ | ✅ | ✅ | 🛠️ | 🔮 |
Space Acres | ✅ | ✅ | ✅ | 🔜 | 🔮 |
🛠️ Limited AMD Support for Linux only is available in recent test builds. The most recent test builds are linked on the forum
See Discord farmer-chat channel for limited support.
Supported GPUs
- Nvidia
- AMD
- Intel
Series/Model | Supported |
---|---|
RTX 20xx and Newer | ✅ |
GTX 16 Series | ✅ |
Nvidia drivers version 550 or later are required. Installing the CUDA Toolkit is not required.
There are many challenges to overcome regarding AMD ROCm support. There is much more information on this topic on the forum.
You must be using the latest test build for AMD support.
Series/Model | Ubuntu | Windows |
---|---|---|
RX 7900 XTX | ✅ | ❌ |
RX 7600 XT | ✅ | ❌ |
RX 7600 | ✅ | ❌ |
RX 6800 | ✅ | ❌ |
RX 6700 XT | ❔ | ❌ |
RX 6600 XT | ✅ | ❌ |
RX 6600 | ✅ | ❌ |
RX 5700 XT | ❌ | ❌ |
RX 5700 | ❌ | ❌ |
RX 5600 | ❌ | ❌ |
AMD BC-250 | ❌ | ❌ |
- 🐧 Ubuntu
- 🪟 Windows
- 🐳 Docker
The subspace-farmer-rocm-*
binaries provide ROCm support, with corresponding CLI options similar to CUDA and prefixed with --rocm
.
-
In order to install necessary libraries go to Ubuntu native installation — ROCm installation (Linux) and follow these steps for your Ubuntu version:
- Package signing key
- Register ROCm packages You don't need a custom driver or full ROCm toolchain to use already compiled application, so skip all other steps.
-
Next install a single package with ROCm runtime:
sudo apt-get install --no-install-recommends hip-runtime-amd
И зарегистрируйте библиотеку, чтобы фармер и другие приложения могли ее найти:
echo "/opt/rocm/lib" | sudo tee /etc/ld.so.conf.d/rocm.conf > /dev/null
sudo ldconfig -
Затем, чтобы разрешить пользователю доступ к GPU для вычислений, нужно добавить своего пользователя в группу render (пожалуйста, никогда не запускайте фармер от имени root с помощью sudo 🙏 ):
sudo usermod -a -G render $LOGNAME
-
Now you'll need to log out of your user profile and log back in or simply reboot for group changes to take effect and you're ready to go.
AMD GPUs on Windows (including through WSL) are not currently supported. We hope to add support in the future.
Cross-compilation no longer requires separate Dockerfiles (which is why they are removed), both native and cross-compilation is supported with a single file
Container image is now built as multi-platform, meaning no -aarch64 suffix and no awkwardness related to that
Образ контейнера фармера Aarch64 скомпилирован с поддержкой CUDA (в то время как обычный исполняемый файл - нет)
Контейнерное изображение теперь поставляется со вторым исполняемым файлом /subspace-farmer-rocm
(см. объяснение почему второй двоичный файл необходим).
Вот как он может быть использован с Docker Compose, вы можете использовать его в качестве вдохновения для других случаев:
services:
famer:
image: ghcr.io/autonomys/farmer:TAG
# Beginning of ROCm-specific options
devices:
- /dev/kfd:/dev/kfd
# This will make all GPUs accessible, you can also limit this
# to individual devices like `/dev/dri/renderD128`
- /dev/dri:/dev/dri
security_opt:
- seccomp:unconfined
# `root` user can be replaced with ID of the user on the host system
# that is in `render` group, needed to access `/dev/kfd` device
user: root
entrypoint: /subspace-farmer-rocm
# End of ROCm-specific options
...the rest of typical options you'd normally use
Intel Arc GPUs may be supported in the future, but specific compatibility details have not been announced yet.
Common Plotting Parameters
Enable CPU Plotting
When a compatible GPU is detected, CPU plotting is automatically disabled by default, but can be re-enabled if needed by specifying number of concurrently encoded sectors: --cpu-sector-encoding-concurrency <sectors>
--cpu-sector-encoding-concurrency 2
Disable GPU Plotting
--cuda-gpus ""
--cuda-gpus 99
Specify specific GPUs
Specify particular GPUs for plotting rather than using all available GPUs (the default configuration employs all compatible GPUs): --cuda-gpus <gpu_ids>
--cuda-gpus 0,1,3
Farming Cluster
When utilizing Farming Cluster, particularly with multiple or fast GPUs, you might encounter limitations due to your network's bandwidth. High performance GPUs can easily surpass the capacity of a 1G connection. While this won't cause the process to fail, it may result in your GPU idling as it waits for data to transfer. To optimize performance in such scenarios, consider upgrading to networking solutions of 2.5G, 10G, or higher.