Intel® MPI Library
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.

Intel MPI with Visual Studio 2022

Georg1982
Beginner
470 Views

I am compiling a Fortran program in Visual Studio 2022 under Windows 11 using the ifx Fortran compiler and the mpi library from Intel Fortran Essentials (which, if I understand correctly, is part of intel oneAPI). The program runs without error alomst till the end, but at the very last command "MPI_FINALIZE(ierror)" it crashes with the error message:

 

"Abort(1) on node 1: Internal error
Assertion failed in file c:\\iusers\\cloudbees\\workspace\\oneIMPI\\start-by-timer\\impi_nightly\\\\src\\include\mpir_objects.h at line 427: h->uref == MPIR_REFCOUNT_INVALID
No backtrace info available"

 

Each of the processes produces this error message.

 

In principle, this does not matter too much since all the work of the program is already done and the output files are correctly written, however, I would like to understand why "MPI_FINALIZE(ierrer)" causes this error and how one can prevent it?

Here is a minimal example which produces this error:

 

program Test

use mpi_f08

integer :: i,ipart,myid,ierror

call MPI_INIT(ierror)
call MPI_COMM_SIZE(MPI_COMM_WORLD,nprocs,ierror)
call MPI_COMM_RANK(MPI_COMM_WORLD,myid,ierror)

if (myid.eq.0) then
open(10)
endif

ipart=myid+1

call MPI_REDUCE(ipart,i,1,MPI_INTEGER,MPI_SUM,0,MPI_COMM_WORLD,ierror)

call MPI_BARRIER(MPI_COMM_WORLD,ierror)

if (myid.eq.0) then
write(*,*)i
endif

call MPI_BARRIER(MPI_COMM_WORLD,ierror)

call MPI_FINALIZE(ierror)

stop

end program Test

 

i=36 is correctly printed and afterwards the above mentioned error occurs.

 

 

0 Kudos
1 Solution
Sergey_K_Intel3
Employee
376 Views

Thank you for reporting this issue!

 

We already aware of this issue and we are working on a fix in the upcoming Intel IMPI versions. The current plan is to fix it in Intel MPI 2021.16, which will be released this summer.

 

The issue is caused by the debug version of impi.dll. The workaround is not to include <installation_directory>\bin\mpi\debug in your PATH environment variable. 

For your reference, here is the Configuring a Microsoft Visual Studio* Project section of the Intel® MPI Library Developer Guide for Windows* OS. In the second step there "Environment for the Debug version: PATH=", omit <installation_directory>\bin\mpi\debug from PATH.

 

View solution in original post

0 Kudos
1 Reply
Sergey_K_Intel3
Employee
377 Views

Thank you for reporting this issue!

 

We already aware of this issue and we are working on a fix in the upcoming Intel IMPI versions. The current plan is to fix it in Intel MPI 2021.16, which will be released this summer.

 

The issue is caused by the debug version of impi.dll. The workaround is not to include <installation_directory>\bin\mpi\debug in your PATH environment variable. 

For your reference, here is the Configuring a Microsoft Visual Studio* Project section of the Intel® MPI Library Developer Guide for Windows* OS. In the second step there "Environment for the Debug version: PATH=", omit <installation_directory>\bin\mpi\debug from PATH.

 

0 Kudos
Reply