Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
26730 Discussions

Calling MPI-based 64 bit exe Fortran program from DLL 32 bit Fortran program

El_Noshokaty__Said
New Contributor I
249 Views

Hi,
From MS Access, I used to call a DLL Fortran program, which in turn calls an exe Fortran program using RUNQQ command. When the Access is 32 bit (2007) running on 64 bit PC using Win 7, I used to call a 32 bit DLL (built by MS PowerStation) and a 64 bit exe (built by Intel Visual Fortran). Both calls were successful even when the exe uses MS MPI. Now, I have Intel Parallel Studio and Win 10 64 bit, where calling exe is successful only when it does not use MS MPI. If it does, an error message is displayed for invalid rank. I discovered that the ‘np’ parameter of mpiexe run by RUNQQ is not identified. I tried SYSTEMQQ to run mpiexe by START but I receive the same error message.

Any help.

Said

0 Kudos
1 Solution
Steve_Lionel
Black Belt Retired Employee
223 Views

I will guess that this is a PATH issue - that when you use RUNQQ or SYSTEM (there is a Fortran standard intrinsic EXECUTE_COMMAND_LINE you should use instead), you're getting "the wrong mpiexec".  Make sure that MS MPI is earlier in PATH than, say, Intel MPI (if you have that installed.)

There's no issue with running a 64-bit EXE from a 32-bit DLL using one of these routines.

View solution in original post

4 Replies
Steve_Lionel
Black Belt Retired Employee
224 Views

I will guess that this is a PATH issue - that when you use RUNQQ or SYSTEM (there is a Fortran standard intrinsic EXECUTE_COMMAND_LINE you should use instead), you're getting "the wrong mpiexec".  Make sure that MS MPI is earlier in PATH than, say, Intel MPI (if you have that installed.)

There's no issue with running a 64-bit EXE from a 32-bit DLL using one of these routines.

View solution in original post

Ron_Green
Moderator
213 Views

-np is not universal.  Some MPIs use -N or -n for number of ranks.  Open a terminal and get help from mpiexe   like  mpiexe -help  or --help or -h OR look up documentation on your MPI. 

El_Noshokaty__Said
New Contributor I
196 Views

Hi Steve,

So long. As usual, your guess is perfect. I have been in the Fortran programming since Fortran II in the 60's of last century . I feel proud you are here to support.

Said  

Steve_Lionel
Black Belt Retired Employee
186 Views

If my answer was correct, please mark this as the accepted answer, to help others. Glad to have been of help.

Reply