我正在尝试使用Chapel编写并行代码,以在基于Python的气候模型中使用: https://github.com/CliMT/climt
虽然我没有使用过Chapel,但它似乎非常适合我的用例。我有几个关于如何将Chapel代码集成到当前工作流程中的问题:
我知道您可以构建可导入的
.so
文件,但是能否在生成Cython文件时停止编译?然后可以将其包含到分发中,并使用标准的setuptools
在Travis上编译我的项目。我是否可以将
numpy
数组传递给使用Chapel编写的Python扩展程序?如果第2个问题的答案是肯定的,并且我的计算在数组的一个维度上具有尴尬的并行性,那么有没有一种优雅的方式来表达这种在Chapel中的并行性?
如果我编写了适用于多个节点并将其编译为Python扩展的Chapel代码,该如何运行它?我可以使用类似于
mpirun python my_code.py
的命令吗?