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
mpirun
command - 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
mpirun
the 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
MPI
job is generally started with thempirun
command, that will in turn remote exec some proxies that will eventually fork&exec theMPI
tasks. are you trying to wrapmpirun
into a DLL ? or isLabVIEW
already a MPI application that should somehow run yourMPI
code in a DLL ? - Gilles Gouaillardet