I'm trying to see if I can use Chapel for writing parallel code for use in a Python-based climate model: https://github.com/CliMT/climt
I don't have any experience with Chapel, but it seems very promising for my use-case. I had a few questions about how to integrate Chapel code into my current workflow:
I know you can build importable
.sofiles, but can the compilation stop when the Cython file is generated? I can then include it into the distribution and use standardsetuptoolsto compile my project on Travis.Can I pass
numpyarrays to a Python extension written in Chapel?If answer to 2. is yes, and my computation is embarassingly parallel in one dimension of the array, is there an elegant way to express this paralellism in Chapel?
If I write Chapel code that works on multiple nodes and compile it to a Python extension, how do I run it? Can I use
mpirun python my_code.pykind of a command?