I have an MPI code which compiles and runs well. I would like to wrap the code to DLL and use the LabVIEW software to call the DLL. But I have no idea how to run an MPI in DLL. Can you give me some advice or alternative approaches? Thank you!
1 Answers
1
votes
here are several options
- make a DLL that fork&exec the
mpiruncommand - make a DLL that
MPI_Comm_spawn()more tasks, do the parallel computation and then make the result available to LabVIEW - use a client/server architecture : the DLL issue a request to a third party server, and this server
mpirunthe computation job and send back the results to the DLL - if you are running on only one node, consider using an other parallel paradigm (such as OpenMP) instead of MPI, that would be trivial to wrap into a DLL
MPIjob is generally started with thempiruncommand, that will in turn remote exec some proxies that will eventually fork&exec theMPItasks. are you trying to wrapmpiruninto a DLL ? or isLabVIEWalready a MPI application that should somehow run yourMPIcode in a DLL ? - Gilles Gouaillardet