chapel相关内容

将元组有效处理为固定大小的向量

在 Chapel 中,可以像使用小“向量"一样使用同构元组 (例如,a = b + c * 3.0 + 5.0;). 然而,由于元组没有提供各种数学函数,我尝试用多种方式为 norm() 编写函数并比较它们的性能.我的代码是这样的: proc norm_3tuple( x: 3*real ): real{返回 sqrt( x[1]**2 + x[2]**2 + x[3]**2 );}pr ..

如何在教堂中添加稀疏域

我正在使用在CSV上读取的循环在Chapel中填充稀疏数组. 我想知道什么是最好的模式. var dnsDom = {1..n_dims, 1..n_dims}; var spsDom: sparse subdomain(dnsDom); for line in file_reader.lines() { var i = line[1]:int; var j = line[ ..
发布时间:2020-11-23 22:00:39 其他开发

使用礼拜堂处理大量矩阵

我最近遇到过小教堂,我非常想尝试一下。我有两个问题,希望可以解决。 我通常使用Python或C ++工作。 Java陷入困境。 我有两个矩阵 I 和 V 。两者都很稀疏,尺寸约为600K x 600K,密度约为1%。 首先,使用SciPy,我可以将这两个SQL数据库都从SQL数据库加载到内存中时刻。但是,我希望我们的下一次迭代对于我们的机器而言将太大。也许是1.5M ^ 2。在这 ..
发布时间:2020-10-22 18:57:41 Python

如何在Chapel中的稀疏矩阵中迭代非零

我还有一个矩阵A仍然徘徊.它是大型,稀疏且新对称的.我创建了一个名为spDom的稀疏域,其中包含非零条目.现在,我要遍历行r并在其中找到非零条目以及索引.我的目标是建立另一个域,该域本质上是行r的非零值. 解决方案 只要您愿意以CSR格式存储稀疏域/数组,以下答案将适用于Chapel 1.15: 首先,出于演示目的,我将建立我的(小型非对称)稀疏矩阵: use LayoutCS ..
发布时间:2020-08-06 02:27:02 其他开发

CyclicDist在多个语言环境中变慢

我尝试使用 CyclicDist 模块实现矩阵乘法. 当我使用一种语言环境与两种语言环境进行测试时,一种语言环境的速度要快得多.是因为两个Jetson纳米板之间的通信时间真的很大还是我的实现没有利用CyclicDist的工作方式吗? 这是我的代码: use Random, Time, CyclicDist; var t : Timer; t.start(); config c ..

在教堂中使用矩阵创建域

我有一个域D,我想用它为几个矩阵编制索引.形式的东西 var dom: domain(1) = {0..5}; var mats: [dom] ; var a0 = [[0.0, 0.1, 0.2], [0.3, 0.4, 0.5]]; var a1 = [[1.0, 1.1, 1.2, 1.3], [1.4, 1.5, 1.6, 1.7]]; mats[0] = a0; mats ..
发布时间:2020-05-07 19:23:58 其他开发

如何指定Chapel中未知大小数组的返回值

我试图依靠类型推理来实现一个带签名的函数: proc mode(data:[?] int) ,但编译器说它无法解析返回类型(这本身就是一个警告,我想只有两个返回语句)。我试过: proc mode(data:[?] int):[?] int 但编译器然后说有一个内部错误: 内部错误:CAL0057 chpl版本1.13.1.518d486 什么是正确的方式来指定 ..
发布时间:2018-04-17 18:33:19 其他开发