Использование Gmagick с OpenMP

Я использую Gmagick для оперативного изменения размеров изображений из PHP и хотел бы использовать преимущества OpenMP для использования всех ядер ЦП.

Моя командная строка GraphicsMagick скомпилирована с поддержкой OpenMP и использует ее: когда я изменяю размер очень большого изображения, я вижу, что загрузка ЦП выходит за пределы 100%, что означает, что он использует несколько ядер ЦП:

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND    
 55727 ben       20   0  927584 465024   5304 R 326.0 11.5   0:10.29 gm         

Однако, когда я запускаю аналогичное задание из PHP с Gmagick, загрузка ЦП всегда ограничивается 100%, что означает, что он использует одно ядро ​​(а глобальное использование ЦП в системных ограничениях составляет 25% на моем 4-ядерном компьютере):

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND    
 55911 ben       20   0 1236632 555132  20140 R 100.0 13.8   0:05.37 php        

В настоящее время я использую стандартные RPM-пакеты Fedora для GraphicsMagick и RPI-пакеты Remi для Gmagick и других пакетов PHP 7.

Я попытался скачать исходники Gmagick и найти опцию OpenMP в configure, но пока безуспешно.

Можно ли скомпилировать Gmagick для использования OpenMP?

Разве он не должен использовать OpenMP автоматически, так как основной пакет GraphicsMagick, поставляемый с Fedora, уже скомпилирован с OpenMP?

Обратите внимание, что Imagick, эквивалентная библиотека для ImageMagick, позволяет использовать OpenMP.

0 ответов

Другие вопросы по тегам