<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Настройка Debian 13. Ускорение вычислений на GPU (OpenCL, CUDA, ROCm)]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=41424&amp;type=atom" />
	<updated>2026-08-14T12:06:33Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=41424</id>
		<entry>
			<title type="html"><![CDATA[Настройка Debian 13. Ускорение вычислений на GPU (OpenCL, CUDA, ROCm)]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=473075#p473075" />
			<content type="html"><![CDATA[<p>Предыдущая часть по установке базовых программ находится <a href="https://linuxforum.ru/viewtopic.php?pid=473069">тут</a>.</p><p>В этом разделе мы рассмотрим основные технологии, которые позволяют программам использовать мощность видеокарты для ускорения вычислений. Процессоры (CPU) хороши для последовательных задач, а видеокарты (GPU) — для параллельных. Чтобы поручить видеокарте выполнение миллионов однотипных операций (например, обработка каждого пикселя изображения), программы используют специальные технологии.<br />Существуют три основных подхода:<br /></p><ol class="decimal"><li><p>OpenCL — это открытый стандарт, который позволяет программам использовать вычислительные мощности разных устройств (GPU, CPU). Его реализации существуют для видеокарт AMD, NVIDIA, Intel и др.</p></li><li><p>ROCm это открытая платформа от AMD для высокопроизводительных вычислений. Включает в себя:<br />&nbsp; </p><ul><li><p>поддержку OpenCL</p></li><li><p>язык и среду выполнения HIP (Heterogeneous-Compute Interface for Portability) — прямой аналог CUDA, позволяющий переносить код с NVIDIA</p></li></ul></li><li><p>CUDA —&nbsp; это проприетарная платформа от NVIDIA для параллельных вычислений. Работает только на видеокартах NVIDIA. OpenCL также доступен на этих картах через драйвер (см. пункт 1), но не входит в состав CUDA.</p></li></ol><p>Из вышеизложенного получаются следующие приоритеты:<br />1. Если приложение умеет работать с CUDA или HIP, выбираем их (для NVIDIA или AMD соответственно)<br />2. Если приложение умеет работать только с OpenCL - ставим OpenCL.</p><p>Например, Blender - требует наличие HIP или CUDA, а поддержку OpenCL из него выпилили. Следовательно, при отсутствии этих технологий рендер будет идти только на CPU.<br />DaVinci Resolve умеет работать с OpenCL или CUDA. А HIP не поддерживает. Поэтому для видеокарт AMD следует ставить OpenCL, а для NVIDIA CUDA (но может работать и с OpenCL, хоть это и бессмысленно, т.к. CUDA лучше).<br />Рекомендую <a href="https://linuxforum.ru/viewtopic.php?pid=473073">установить</a> эти две программы для проверки.</p><p>Поскольку Debian — это стабильный дистрибутив, в его официальных репозиториях могут отсутствовать самые свежие версии пакетов с реализациями OpenCL, HIP или CUDA, необходимых для работы нового оборудования. В этом руководстве мы сначала рассмотрим установку проверенных пакетов из официальных репозиториев — это оптимальный выбор для большинства пользователей. Однако если ваша видеокарта очень новая или стандартных пакетов из Debian недостаточно для работы OpenCL/HIP/CUDA&nbsp; (требуются более свежие версии), потребуется подключить официальные репозитории производителя (AMD, NVIDIA) или воспользоваться репозиторием backports, чтобы получить более свежие версии пакетов OpenCL, HIP или CUDA.</p><p>Команда для вывода списка доступных платформах и устройствах OpenCL:<br /></p><div class="codebox"><pre><code>clinfo --list</code></pre></div><p>Изначально тут пусто, т.к. мы ещё ничего не установили.<br />Список файлов-загрузчиков OpenCL:<br /></p><div class="codebox"><pre><code>ls /etc/OpenCL/vendors/</code></pre></div><p>И тут тоже пусто (либо каталога вообще не существует).</p><p>Теперь перейдём к конкретным инструкциям по установке OpenCL, HIP и CUDA в зависимости от видеокарты и от необходимых пользовательских приложений, которым нужны эти технологии. Если нет пользовательских приложений, которым нужны эти технологии, то и ставить их не нужно!<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp; платформа AMD</div><div class="fancy_spoiler"><p>Есть два источника для установки пакетов - это репозиторий Debian, который содержит протестированные на совместимость с дистрибутивом пакеты и официальный репозиторий ROCm от AMD, который содержит новейшие&nbsp; версии пакетов, но, возможно, будет работать с ошибками.<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp; Подключение официального репозитория ROCm. Опционально</div><div class="fancy_spoiler"><p>Ключ:<br /></p><div class="codebox"><pre><code>curl -fL https://repo.radeon.com/rocm/rocm.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/rocm.gpg</code></pre></div><p>Репозиторий:<br /></p><div class="codebox"><pre><code>echo -e &quot;Types: deb\nURIs: https://repo.radeon.com/rocm/apt/debian\nSuites: noble\nComponents: main\nArchitectures: amd64\nSigned-By: /etc/apt/keyrings/rocm.gpg&quot; | sudo tee /etc/apt/sources.list.d/rocm.sources</code></pre></div><p>Повышаем приоритет репозитория, чтобы пакеты для видекарты AMD брались из него:<br /></p><div class="codebox"><pre><code>sudo tee /etc/apt/preferences.d/rocm-pin-600 &lt;&lt; EOF
Package: *
Pin: release o=repo.radeon.com
Pin-Priority: 600
EOF</code></pre></div><p>Обновляем кеш:<br /></p><div class="codebox"><pre><code>sudo aptitude update</code></pre></div><p>После этого обязательно нужно добавить пользователя в группы:<br /></p><div class="codebox"><pre><code>sudo usermod -aG video,render $USER</code></pre></div><p>и релогнуться</p></div></div><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp; Установка HIP</div><div class="fancy_spoiler"><p>Если HIP планируется использовать с Blender, то сразу можно переходить к установке HIP из репозитория ROCm.<br />В большинстве же случаев достаточно HIP из репозитория Debian:<br /></p><div class="codebox"><pre><code>sudo aptitude install hipcc</code></pre></div><p>Проверяем, что HIP увидел нашу видеокарту:<br /></p><div class="codebox"><pre><code>rocminfo</code></pre></div><p>В одном из разделов, начинающихся с ******* Agent ******* должно быть описание видеокарты.<br />Проверим версию HIP. Для этого нужно запустить команду:<br /></p><div class="codebox"><pre><code>hipconfig --version</code></pre></div><p>В результате выведится версия. В моём случае это <strong>5.7.31921-0</strong><br />Запускаем Blender, заходим в настройки и на вкладке System переключаемся на закладку HIP. Там должна отображаться видеокарта. Если видеокарта отображается, то на этом установка HIP закончена.<br />В моём случае она не отображается (RX 6600), потому что HIP в репозитории Debian из ROCm версии 5.7, в Blender требует версии 6.0 или выше (требования написаны на вкладке с HIP). Поэтому мне придётся ставить HIP из репозитория ROCm.<br />Но сначала я удалю ненужный пакет:<br /></p><div class="codebox"><pre><code>sudo aptitude purge hipcc</code></pre></div><p>а затем поставлю из репозитория AMD (предварительно подключив его, как описано выше):<br /></p><div class="codebox"><pre><code>sudo aptitude install hip-runtime-amd</code></pre></div><p>Теперь видеокарта должна отобразиться.</p></div></div><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp; установка ROCm полностью</div><div class="fancy_spoiler"><p>Если нужна вся платформа целиком (например, для сборки утилит, использующих видеокарту типа gRASPA), то нужно сначала подключить репозиторий AMD (предварительно подключив его, как описано выше), а затем установить всю платформу:<br /></p><div class="codebox"><pre><code>sudo aptitude install rocm</code></pre></div></div></div><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp; Установка OpenCL</div><div class="fancy_spoiler"><p>Установка возможна для трёх разных реализаций - MESA, проприетарный OpenCL из репозитория Debian и проприетарный OpenCL из репозитория ROCm. Первые два в Debian помечены как конфликтующие и теоретически должны удалять друг друга. Однако при экспериментах лучше удалять явно. Если уже установлен HIP из репозитория ROCm, то лучше сразу установить и проприетарный OpenCL из официального репозитория ROCm.<br />В остальных случаях подойдёт OpenCL от MESA с использованием rusticl.</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp; Установка от MESA</div><div class="fancy_spoiler"><div class="codebox"><pre><code>sudo aptitude install mesa-opencl-icd</code></pre></div><p>Теперь запустим команду просмотра доступных платформ, которую мы уже запускали выше:<br /></p><div class="codebox"><pre><code>clinfo --list</code></pre></div><p>Вывод будет примерно таким:<br /></p><div class="codebox"><pre><code>Platform #0: Clover
 `-- Device #0: AMD Radeon RX 6600 (radeonsi, navi23, LLVM 19.1.7, DRM 3.64, 6.19.10+deb13-amd64)
Platform #1: rusticl</code></pre></div><p>в выводе мы видим две платформы - устаревшая платформа Clover, которая видит нашу видеокарту.<br />rusticl, это более современная платформа для открытых вычислений, которая и рекомендуется для запуска ДаВинчи. Но эта платформа пока не видит нашу видеокарту. Если сейчас запустить DaVinci, без настроек, то запуск будет с помощью платформы Clover и будет ооочень медленно загружаться. Открытие существующего проекта может вообще зависнуть.<br />Теперь просмотрим какие файлы-загрузчики установил нам пакет <strong>mesa-opencl-icd</strong>:<br /></p><div class="codebox"><pre><code>ls /etc/OpenCL/vendors/</code></pre></div><p>результатом вывода будут файлы, в том числе и:<br /><span style="color: green"><br />mesa.icd<br />rusticl.icd<br /></span><br />mesa.icd - это загрузчик для Clover,&nbsp; rusticl.icd, как несложно догадаться из названия - это загрузчик для rusticl.<br />Для того, чтобы запустить DaVinci через rusticl, необходимо в запуск программы добавить переменные:<br />RUSTICL_ENABLE=radeonsi - активирует поддержку GPU для платформы rusticl.<br />OCL_ICD_VENDORS=rusticl.icd заставляет загрузчик OpenCL использовать именно этот ICD-файл, игнорируя остальные<br />Создадим файл запуска для того, чтобы DaVinci при нажатии в меню Пуск запускался через rusticl. Для этого нужно скопировать .desktop файл ДаВинчи в локальный каталог пользователя, чтобы дальнейшие изменения(обновления) ДаВинчи его не затрагивали:<br /></p><div class="codebox"><pre><code>cp /usr/share/applications/com.blackmagicdesign.resolve.desktop ~/.local/share/applications/</code></pre></div><p>Редактируем файл:<br /></p><div class="codebox"><pre><code>nano ~/.local/share/applications/com.blackmagicdesign.resolve.desktop</code></pre></div><p>Находим строчку с Exec и приводим её к виду:<br /></p><div class="codebox"><pre><code>Exec=env RUSTICL_ENABLE=radeonsi OCL_ICD_VENDORS=rusticl.icd /opt/resolve/bin/resolve %F</code></pre></div><p>Теперь DaVinci в меню Пуск запускается через rusticl</p></div></div><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp; Установка проприетарного OpenCL из официального репозитория Debian</div><div class="fancy_spoiler"><p>Устаревшая(и-за версии) реализация OpenCL. В большинстве случае нет смысла ставить, поэтому для информации.<br />Сначала нужно удалить конфликтующую версию MESA:<br /></p><div class="codebox"><pre><code>sudo aptitude purge mesa-opencl-icd</code></pre></div><p>Затем установить реализацию OpenCL из репозитория Debian:<br /></p><div class="codebox"><pre><code>sudo aptitude install rocm-opencl-icd</code></pre></div><p>После установки действуем по схеме, приведённой ранее. Смотрим доступные платформы:<br /></p><div class="codebox"><pre><code>clinfo --list</code></pre></div><p>В результате должна быть одна платформа с устройством, которое она видит:<br /></p><div class="codebox"><pre><code>Platform #0: AMD Accelerated Parallel Processing
 `-- Device #0: gfx1032</code></pre></div><p>Смотрим что у нас с загрузчиком OpenCL:<br /></p><div class="codebox"><pre><code>ls /etc/OpenCL/vendors/</code></pre></div><p>В выводе файл <span style="color: green">amdocl64.icd</span>, который и является единственным загрузчиком. Т.к. платформа единственная и видит видеокарту, то в этом случае дополнительные настройки не требуются.</p></div></div><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp; Установка проприетарного OpenCL из официального репозитория ROCm</div><div class="fancy_spoiler"><p>Развивается вместе с платформой ROCm, но из-за новизны может быть нестабильна. Перед установкой необходимо удалить предыдущие версии OpenCL от MESA и OpenCL из репозитория Debian, иначе в системе будет несколько платформ и нужно будет настраивать ярлыки для каждой программы, которая требует OpenCL для своего функционирования.<br />Устанавливается просто:<br /></p><div class="codebox"><pre><code>sudo aptitude install rocm-opencl-runtime</code></pre></div><p>Соответственно, уже известные команды должны показать видимость платформы и файла-загрузчика OpenCL:<br /></p><div class="codebox"><pre><code>clinfo --list</code></pre></div><div class="codebox"><pre><code>ls /etc/OpenCL/vendors/</code></pre></div><p>DaVinci тоже должен запускаться без дополнительных манипуляций.</p></div></div></div></div></div></div><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp; платформа Nvidia</div><div class="fancy_spoiler"><p>C Nvidia всё немного проще. В зависимости от того, какой драйвер был установлен <a href="https://linuxforum.ru/viewtopic.php?pid=473067">тут</a>, зависят дальнейшие действия.<br />- Если проприетарный драйвер от NVIDIA не установился (используется свободный драйвер nouveau), то вычисления на GPU недоступны.<br />- Если был установлен проприетарный драйвер NVIDIA nvidia-open из репозитория NVIDIA, то устанавливаем CUDA.<br /></p><div class="codebox"><pre><code>sudo aptitude install cuda-toolkit</code></pre></div><p>- Если был установлен проприетарный драйвер NVIDIA из репозитория Debian, то устанавливаем CUDA и/или OpenCL.</p><p>CUDA:<br /></p><div class="codebox"><pre><code>sudo aptitude install nvidia-cuda-toolkit</code></pre></div><p>OpenCL (в большинстве случаев не нужен):<br /></p><div class="codebox"><pre><code>sudo aptitude install nvidia-opencl-icd</code></pre></div></div></div>]]></content>
			<author>
				<name><![CDATA[survordie]]></name>
				<uri>https://linuxforum.ru/profile.php?id=49145</uri>
			</author>
			<updated>2026-08-14T12:06:33Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=473075#p473075</id>
		</entry>
</feed>
