问题标签 [chapel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - 如何在 Chapel 中加载可变长度 JSON 数组?
我正在尝试加载包含 JSON 格式训练数据的Yummly数据。以下是单个记录的示例:
这是我尝试加载这些数据
我显然不会先验地知道成分的数量,所以我尝试了这条线ingredients: [1..1] string;
,但无济于事。在弄乱它之后,我无法让它工作。
python - 如何在 Chapel 中双向查找类似字典的数据?
在 Python 中,如果我有一个列表,我可以找到索引。这允许我在添加内容时继续运行 ID。
所以给一个蔬菜(或块茎)我可以找到它的 ID。给定一个 ID,我可以找到一种蔬菜(或块茎)来匹配。
对于未知数量的对象并且能够从名称或 ID 中引用,Chapel 中的等效模式是什么?
list-comprehension - 如何在 Chapel 中执行内联 IF 数组构造函数?
我想根据条件创建域的子集。我可以做一个循环,但我想看看我是否可以使用内联 if。
只是重新创建数组d
看起来像
但是,我想将d
where提取e[d] < p
到vs
. 有没有类似的方法?
dictionary - 如何在教堂中表示集合或字典?
在 Python 中,很容易创建一组独特的、无序的对象
我知道 Chapel 有域,但是将它们用作集合是否合适?有什么陷阱吗?字典呢?
list-comprehension - 将数组分配给教堂类中的属性
这是我需要在 Chapel 中重新创建的类似 Python 的模式。
产生运行时错误
我不知道 Kenny 会提前有多少个幸运数字,当时我无法实例化 Kenny。也就是说,我必须稍后分配它们。此外,我需要知道何时握住它们,知道何时折叠它们。
chapel - 继续在教堂的 FORALL 循环之外
当你把它全部写成这样的时候,你真的看到了 FORTRAN 的传统。无论如何,我无法使forall continue
语法正确。
forall
在教堂中使用时如何正确“跳出这个循环” ?
== 编辑 ==
错误是
chapel - 在 Chapel 中用逗号分隔打印字符串域值
我有一个域,我想用逗号输出。在 Python 中,我可以使用string
.join()
由list
.sort()
-ed 产品提供的方法,但在 Chapel 中,我没有得到正确的结果。
我想读最后一行
chapel - 远程变量声明
远程变量声明如何工作?我尝试使用Chapel 语言规范第 26.2.1 节中所述的 on 子句来增加普通变量声明,但它似乎不起作用。例如,这行代码:
编译失败,报错syntax error: near 'var'
。
performance - 将元组有效处理为固定大小的向量
在 Chapel 中,同质元组可以像小的“向量”一样使用
(例如,a = b + c * 3.0 + 5.0;
)。
但是,由于没有为元组提供各种数学函数,因此我尝试了norm()
多种方式编写函数并比较了它们的性能。我的代码是这样的:
chpl --fast test.chpl
我用(通过自制软件安装的 OSX10.11 上的 Chapel v1.16 和 4 核)编译了上面的代码。然后,norm_3tuple()
,norm_loop()
和norm_loop_param()
给出几乎相同的速度(0.45 秒),而norm_reduce()
速度要慢得多(大约 30 秒)。我检查了top
命令的输出,然后norm_reduce()
使用了所有 4 个核心,而其他功能只使用了 1 个核心。所以我的问题是...
norm_reduce()
慢是因为reduce
并行工作并且并行执行的开销远大于这个小元组的净计算成本?- 鉴于我们想要避免
reduce
3 元组,其他三个例程基本上以相同的速度运行。这是否意味着显式 for 循环对于 3 元组的成本可以忽略不计(例如,通过--fast
选项启用循环展开)? - 在
norm_loop_param()
中,我也尝试param
对循环变量使用关键字,但这给了我很少或没有性能提升。如果我们只对同质元组感兴趣,是否根本不需要附加param
(为了性能)?
对于很多问题,我很抱歉,如果有任何关于有效处理小元组的建议/建议,我将不胜感激。非常感谢!