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

on a coarray example, mpiexec seems to freeze when run with -localonly

jcarbaut
Beginner
742 Views

Hello,

I am really new to coarray. I am trying a trying a simple example:

program ex
    print *, this_image(), num_images()
end program

I compile with ifort /Qcoarray ex.f90. Then, when I simply run ex.exe in the console, nothing happens, the programs just hangs. If, however, I run mpiexec -n 1 ex, then it runs, and it prints 4 lines.

If I set FOR_COARRAY_DEBUG_STARTUP=1, then, when I run ex.exe directly in the console, it prints Generated MPI command line is 'mpiexec.exe -localonly -n 4 ex ' before hanging.

So, I try to run mpiexec.exe -localonly -n 4 ex directly in the command line, and it hangs too. Without -localonly, it runs, and with -n 4, I get four times the line Generated MPI command line is 'mpiexec.exe -localonly -n 4 ex ', and 16 lines output from the program.

I wonder what I am doing wrong. If I interpret correctly, coarray is using MPI, but I should not type mpiexec to run the program, it will be called automatically. However, it seems mpiexec doesn't like the -localonly option.

In case it's important, I use IVF 2017.1 on Windows 7, both 64 bits.

Jean-Claude Arbaut

0 Kudos
1 Solution
IanH
Honored Contributor III
742 Views

This might be the same problem as reported here.

View solution in original post

0 Kudos
3 Replies
IanH
Honored Contributor III
743 Views

This might be the same problem as reported here.

0 Kudos
jcarbaut
Beginner
742 Views

You are right, the workaround provided by Steve Lionel solves the problem. Since I am really beginning with coarray, I thought I had something wrong somewhere.

Thank you!

Jean-Claude Arbaut

0 Kudos
FruitBread
Beginner
124 Views

Hi Arbaut!

I am recently working with Fortran Coarrays and encountered similar problem as you did. I work on a 64-bit Windows system with IFX Intel Fortran Compiler or IFORT Intel Fortran Compiler Classic. To run your example code above, I set number of coarray images to 4 (/Qcoarray-num-images:4), built and ran the .exe from cmd:

mpiexec -n x "ex.exe"

where x is the number of processes. I expected to get  4 lines but actually got 4*x lines. However, different from yours, -localonly has no effect at all to me. As I directly ran the ex.exe without mpiexec, the result seemed correct.

In your accepted solution, it redirects to a previous post https://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/703331 but it seems no longer exist. So could you please let me know how to correctly run an coarray program with impi?

Thank you!

FruitBread

0 Kudos
Reply