是否有支持多个 CPU 核心/线程的 enblend 版本?

是否有支持多个 CPU 核心/线程的 enblend 版本?

任务管理器 ksysguard 告诉我只有一个核心被 enblend 完全占用。有时 enblend 会在核心之间跳跃,但它显然不是为在多个核心之间分配工作而开发的(我有 8 个核心,分别有 16 个线程):

在此处输入图片描述

那么:enblend 有多 CPU 版本(或补丁)吗?我当前的版本是 4.2(在 OpenSUSE Leap 15.1 系统上)。谢谢。

更新:Firefox 似乎可以与以下设备配合使用taskset在此处输入图片描述

更新 #2:以下是我的版本的链接详细信息enblend

╭─jacek@epica ~  
╰─➤  enblend --show-software-components
Compiler
  g++ 7.4.0

Libraries
  GSL:        2.4
  Little CMS: 2.9.0
  Vigra:      1.11.1

╭─jacek@epica ~  
╰─➤  enblend --version --verbose
enblend 4.2

Extra feature: image cache: no
Extra feature: OpenMP: no
Extra feature: OpenCL: no

答案1

enfuse/enblend 提供通过 OpenMP 和/或 OpenCL 进行部分并行化的源代码支持。您可以使用以下命令检查是否已编译--show-software-components

$ enfuse --show-software-components
Compiler
  g++ 9.1.0
  implementing OpenMP standard of 2015-11

Libraries
  GSL:        2.6
  Little CMS: 2.9.0
  Vigra:      1.11.1

该输出也会列出 OpenCL,但它不包含在我拥有的版本中。

请记住,软件的大部分部分可能根本无法并行化。

如果您目前拥有的二进制版本不支持 OpenMP 或 OpenCL,您可以直接编译自己的版本。存储库中有一个很好的 README 文件,您已经知道您可能想要启用哪些功能(从您目前拥有的版本开始)。

相关内容