gpt4 book ai didi

chapel - 任何允许您在多个语言环境中使用所有内核的标志

转载 作者:行者123 更新时间:2023-12-04 10:54:37 24 4
gpt4 key购买 nike

我正在使用 forall 循环测试我的矩阵乘法。我注意到在我的两个语言环境中,它只使用了 8 个内核中的 7 个。是否有任何 Chapel 标志可以让我指定要使用多少个内核?

最佳答案

Chapel 中的 Forall 循环应该默认使用所有可用的内核,只要迭代次数超过内核数即可。您使用什么技术来确定仅使用了 7 个内核?你正在执行的循环是什么?

验证 Chapel 了解您的所有内核(即没有错误配置)的一件事是执行 writeln(here.numPUs());这将打印出在给定语言环境中可用的内核数(“处理单元”或“PU”)。 numPUs() 已记录 as part of the interface supported on the locale type .要检查所有语言环境的核心,您可以编写如下内容:

coforall loc in Locales do
on loc do
writeln(here.numPUs());

对于您的具体问题,您可以使用一些方法来更改大多数 forall 循环或运行时本身使用的任务数量,但同样,这些通常不是必要的,以确保使用 8/8 核.

有一个通用配置 dataParTasksPerLocale 这告诉大多数标准迭代器每个语言环境使用多少个任务来实现 forall 循环。还有一个名为 CHPL_RT_NUM_THREADS_PER_LOCALE 的环境变量可用于更改运行时用于执行任务的线程数。

但同样,如果 Chapel 正确检测到您的系统有 8 个内核(通过 numPUs() 验证),那么这两个变量也应默认为 8。

关于chapel - 任何允许您在多个语言环境中使用所有内核的标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59291509/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com