Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28385 Discussions

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

El_Noshokaty__Said
New Contributor I
617 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
Honored Contributor III
591 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
Honored Contributor III
592 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.

Ron_Green
Moderator
581 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. 

0 Kudos
El_Noshokaty__Said
New Contributor I
564 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
Honored Contributor III
554 Views

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

Reply