OpenCL — фреймворк для написания компьютерных программ, связанных с параллельными вычислениями на различных графических и центральных процессорах, а также FPGA. В быту он используется, в основном, для различных вычислений на графических процессорах AMD и получения хардварного ускорения в программных пакетах по типу Blender, etc.
Данная инструкция будет актуальна для видеокарт AMD от серии RX4xx и выше, работающих под управлением Calculate Linux. Для обеспечения поддержки OpenCL будет использоваться RadeonOpenCompute/ROCm и соответствующий пакет dev-libs/rocm-opencl-runtime из репозиториев Gentoo.
Для начала подготовим систему к установке rocm-opencl-runtime установив следующую зависимость:
# emerge -av dev-util/opencl-headers
А также, чтобы не получить в процессе установки пакетов ошибку «Failed to emerge dev-libs/roct-thunk-interface», сделаем симлинк на библиотеку libgcc_s.so.1:
# ln -s /usr/lib/gcc/x86_64-pc-linux-gnu/12/libgcc_s.so.1 /lib64/libgcc_s.so.1
Далее в любом удобном текстовом редакторе, например nano, добавляем в файл /etc/portage/package.accept_keywords/custom следующие строки, чтобы разрешить установку «тильданутых» пакетов:
dev-libs/rocm-opencl-runtime ~amd64
dev-libs/rocm-comgr ~amd64
dev-util/rocm-cmake ~amd64
dev-libs/roct-thunk-interface ~amd64
dev-libs/rocr-runtime ~amd64
dev-libs/rocm-device-libs ~amd64
И после сохранения файла, выполняем непосредственно установку rocm-opencl-runtime:
# emerge -av dev-libs/rocm-opencl-runtime
После завершения установки OpenCL должен заработать. Чтобы убедиться, что все прошло успешно и готово к использованию, можно воспользоваться утилитой clinfo.
Для ее установки сначала добавляем в следующую строку в файл /etc/portage/package.accept_keywords/custom:
dev-util/clinfo ~amd64
А затем выполняем установку пакета:
# emerge -av dev-util/clinfo
После установки, выполнив команду:
$ clinfo
Вы должны получить вывод о доступных для вычислений устройствах, примерно такой же как на картинке в начале гайда.
В случае возникновения ошибок/конфликтов в процессе работы с OpenCL, возможно, необходимо будет убрать USE-флаг opencl у пакета media-libs/mesa.
Для этого в файл /etc/portage/package.use/cutom добавляем следующую строку:
media-libs/mesa -opencl
После выполняем:
# cl-update
И ожидаем окончания пересборки media-libs/mesa. На слабых ПК пересборка может занять продолжительное время!
[about@Linux ~]# - Сообщество пользователей и любителей ОС на базе ядра Linux и по-совместительству персональный блог одного из таких людей.
Страница ВК: https://vk.com/about_linux