我的设计由几个通过管道传递的内核组成.
我的一个内核有超过20个管道,但Intel i5 CPU的限制似乎是16:
# clinfo | grep pipe
Max number of pipe args 16
Max active pipe reservations 65535
Max pipe packet size 1024
Run Code Online (Sandbox Code Playgroud)
问题:有没有办法增加管道数量?
任何帮助,将不胜感激!
小智 3
不,是的。
不,因为这是与您的硬件相关的描述性信息。该行是以下代码的输出:
{ CLINFO_BOTH, DINFO(CL_DEVICE_MAX_PIPE_ARGS, "Max number of pipe args", int), dev_is_20 },
Run Code Online (Sandbox Code Playgroud)
CL_DEVICE_MAX_PIPE_ARGS 是 opencl 2.0 2015.2 版本中的新功能。
这与您拥有多少个核心相同。
如果你只有 2 个 cpu 核心,你几乎不会使用 8 个。
是的,因为有一种方法可以增加管道参数的数量。您必须购买其他支持更多参数的 CPU。
我的回答可能令人失望。抱歉,祝您的项目顺利。