2

如果 Chapel 程序不使用语言环境 (*),因此只有一个语言环境,那么程序是否会使用执行机器上的所有处理器/内核(如果是这样的话,可能是使用内核线程)。

(*) 在 Chapel 中使用的语言环境是一个有点不幸的选择,因为在大多数操作系统中使用术语语言环境来表示语言和变体。

4

1 回答 1

2

是的,默认情况下,Chapel 程序将尝试使用执行机器上可用的所有内核。对于单语言环境和多语言环境编译都是如此。

请参阅执行教堂程序,其中描述了可以控制此行为的两个设置:dataParTasksPerLocale 和 CHPL_RT_NUM_THREADS_PER_LOCALE。

关于“locale”这个词的选择,和分布式并行编程上下文中常用的“locality”这个词有关(尝试搜索“optimizing locality”)。在某些方面,Chapel 语言环境是它自己的概念,需要它自己的术语(“节点”之类的东西不合适)。

于 2016-09-09T15:38:02.553 回答