gpt4 book ai didi

chapel - 使用多个语言环境的矩阵乘法

转载 作者:行者123 更新时间:2023-12-04 10:55:36 33 4
gpt4 key购买 nike

嗨,我想看看是否有人可以看到我的代码有任何明显的问题。我正在尝试在两个 Nvidia Jetson 板上运行我的代码,以利用 8 个内核进行加速。我想比较使用一块板和两块板的速度。我已将 Chapel 环境设置为允许多个语言环境执行。
这是我的实现:

use LinearAlgebra, Norm, Random, Time;
var t : Timer;

writeln("Size of your matrix?");
var size = read(int);

var grid : [1..size, 1..size] uint(8);
var grid2 : [1..size, 1..size] uint(8);
var grid3 : [1..size, 1..size] int;

fillRandom(grid);
fillRandom(grid2);

t.start();
forall loc in Locales do
on loc do
forall i in 1..size do
forall j in 1..size do
forall k in 1..size do
grid3[i,j] += grid[i,k] * grid2[k,j];
t.stop();
writeln("Done!:");
writeln(t.elapsed(),"seconds");
t.clear();

我不断得到:
error: Only 1 locale may be used for CHPL_COMM layer 'none'
To use multiple locales, see $CHPL_HOME/doc/rst/usingchapel/multilocale.rst

当我运行具有以下内容的 cores.chpl 文件时:
coforall loc in Locales do
on loc do
writeln("locale ", here.id, " named ", here.name, " has ", here.numPUs(), " cores.");

这是输出:
locale 0 named JetsonNano has 4 cores.
locale 1 named JetsonNano2 has 4 cores.

所以我知道环境设置正确。

我只是不确定我是否将我的矩阵乘法代码设置为允许在多个语言环境中使用。

最佳答案

消息:

error: Only 1 locale may be used for CHPL_COMM layer 'none'
To use multiple locales, see $CHPL_HOME/doc/rst/usingchapel/multilocale.rst

表示当你编译你的 Chapel 程序时,你要么没有设置 CHPL_COMM,要么设置为 none在进行编译的 session 中。尝试设置 CHPL_COMM=gasnet在您当前的 session 中(或等效地,使用 --comm=gasnet 进行编译),重新编译,然后使用 -nl 2 运行.

在给定的 session 中,您可以运行 $CHPL_HOME/util/printchplenv查看当前设置和/或推断的环境变量是什么。对于给定的 Chapel 程序,您可以运行 ./myChapelProgram --about在编译时获取有关设置的信息。

如果您打算与 CHPL_COMM=gasnet 合作大多数情况下,您可以使用 Chapel configuration files以避免一遍又一遍地重新设置。

关于chapel - 使用多个语言环境的矩阵乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59222699/

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