Are you referring to calling C and Fortran functions directly from Julia? If so 
that won't do.

The eventual goal is that the solvers are hot-swappable. One should be able to 
select what ever solver out there which models the required physics.

If I would go down to the level of calling individual functions, I would be 
forced to create multiple interfaces, one for each solver I would support.

If however I am able to use MPI in Julia, it is possible to create a data 
communication layer based on MPI (this has been done before). Then I only need 
to add some send/receive statements in the code of the external solvers and 
compile them against the communication layer. That however is a relatively 
easier task as a lot of the numerical solvers out there already incorporate MPI 
to some extent.

If I proceed in the MPI route, the only question is whether the MPI package for 
Julia is up for the task (functionality, scalability, performance) or should I 
first spend some time improving that package or create a new one?

Reply via email to