我正在尝试使用OpenMP并行化C程序.
我想了解更多:
据我所知,区别在于threadprivate的全局范围以及跨并行区域的保留值.我在几个例子中发现,当一段代码包含一些必须私有化的全局/静态变量时,这些变量包含在threadprivate列表中,并且使用copyin将它们的初始值复制到私有副本中.
但是,是否有任何规则阻止我们使用private子句来处理全局/静态变量?也许任何实施细节?
我在OpenMP3.0规范中找不到任何解释.
我的设计由几个通过管道传递的内核组成.
我的一个内核有超过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)
问题:有没有办法增加管道数量?
任何帮助,将不胜感激!