января 13, 2019

darktable 2.4 > Специальные темы > Darktable и OpenCL > Как активировать OpenCL в darktable

ПРЕД.

10.2. Darktable и OpenCL

10.2.3. Как активировать OpenCL в darktable

Использование OpenCL в darktable требует, чтобы ваш компьютер был оснащен подходящей графической картой и имел необходимые библиотеки. Современные графические карты от NVIDIA и AMD поставляются с полной поддержкой OpenCL. Компилятор OpenCL обычно поставляется как часть запатентованного графического драйвера; он используется как динамическая библиотека под названием "libOpenCL.so". Эта библиотека должна находиться в папке, где находится системный динамический компоновщик.

Когда запускается приложение darktable, оно сначала попытается найти и загрузить libOpenCL.so и при успешном выполнении проверяет, доступна ли графическая карта с поддержкой OpenCL. Для использования графического процессора требуется достаточное количество графической памяти (1ГБ+). Если всё хорошо, то darktable пытается настроить свою среду OpenCL: инициализирует контекст обработки, запускает вычислительный конвейер, файлы исходного кода OpenCL (расширение .cl) читаются и компилируются, а включенные подпрограммы (называемые ядрами OpenCL) должны быть уже подготовлены для модулей darktable. Если всё это сделано, то подготовка завершена.

По умолчанию поддержка OpenCL активируется в darktable, если все вышеуказанные шаги были успешными. Если вы хотите деактивировать её, вы можете сделать это в меню "Основные настройки" ( раздел 8.2, "Основные настройки"), сняв флажок с параметра "Включить поддержку OpenCL". Этот параметр конфигурации также указывает вам, была ли неудача инициализации OpenCL (в этом случае параметр неактивен).

Вы можете в любой момент отключить поддержку OpenCL; изменения вступят в силу немедленно. В зависимости от типа модулей, которые вы используете, вы заметите эффект как общее ускорение во время работы и во время экспорта. Большинство модулей в darktable могут использовать OpenCL, но не все модули требовательны к ресурсам, чтобы можно было заметить разницу. Для того чтобы почувствовать реальную разницу, возьмите модули, такие как "Тени и света", "Резкость", "Н/Ч фильтр", "В/Ч фильтр" или даже более экстремальный "Эквалайзер" и "Шумоподавление (профиль)".

Если вы заинтересованы в получении значений производительности, вы можете запустить darktable с параметрами командной строки "-d opencl -d perf". После каждого запуска пиксельного конвейера вы получите подробное распределение времени обработки для каждого модуля плюс еще более подробную характеристику производительности для всех используемых ядер OpenCL.

Помимо ускорения, вы не должны увидеть разницы в результатах между обработкой центральным процессором и графическим. Кроме ошибок округления, результаты должны быть идентичными. Если по каким-то причинам darktable не сможет должным образом завершить расчет на графическом процессоре, то, как правило, он заметит это и автоматически (и прозрачно) вернется к обработке на центральном процессоре.

Комментариев нет:

Отправить комментарий