Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
29285 Discussions

Intel Compiler **Internal compiler error: internal abort** related to coarray and transpose

northrup
Beginner
923 Views

I have run into an issue trying to use coarrays with transpose causing the Intel fortran compiler to crash.

Its on centos 6.4 with compiler version

$ ifort --version 

ifort (IFORT) 14.0.1 20131008

$ ifort testfft.short.f90 -coarray=shared -o mytest

testfft.short.f90(29): catastrophic error: **Internal compiler error: internal abort** Please report this error along with the circumstances in which it occurred in a Software Problem Report.  Note: File and line given may not be explicit cause of this error.
compilation aborted for testfft.short.f90 (code 1)

The sample code is 

[fortran]

integer, parameter :: ngrid=4,ncube=2
real, dimension(ngrid/ncube*ncube,ngrid/ncube,ncube,ngrid/ncube,ncube) :: rho3[ncube,ncube,*]

complex, dimension(ngrid*ncube/2+1,ngrid/ncube,ncube,ngrid/ncube) :: crhox[ncube,ncube,*]
complex, dimension(ngrid/ncube,ncube,ncube,ngrid/ncube,ngrid/2+1) :: crhoy[ncube,ncube,*]
complex, dimension(ngrid/ncube,ncube,ncube,ngrid/2+1,ngrid/ncube) :: crhoz[ncube,ncube,*]
integer mycoord(3)

mycoord=this_image(rho3)

! align x-axis first
ic=mycoord(2)
iy=mycoord(1)
iz=mycoord(3)
 
! now transpose x-y
sync all
ix=mycoord(3)
ixlen=ngrid/2

do ib=1,ncube
   do iy=1,ncube
      do k=1,ngrid/ncube
         imin=(ix-1)*ngrid/2+1
         imax=imin+ixlen-1
         crhoy(:,ib,iy,k,:ixlen)=transpose(crhox(imin:imax,:,ib,k)[iy,mycoord(1),mycoord(2)])
      end do
   end do
end do

end program

[/fortran]

Thanks

 

 

0 Kudos
6 Replies
northrup
Beginner
923 Views

We found another case causing a similiar compiler abort, but this time by just turning the -debug or -g flags.  The odd thing is it works fine without them, ie the default optimization level seems to compile the code and it runs as expected.

$ ifort -fpp -debug all -coarray  testfftopt.f90
010101_0

catastrophic error: **Internal compiler error: internal abort** Please report this error along with the circumstances in which it occurred in a Software Problem Report.  Note: File and line given may not be explicit cause of this error.
compilation aborted for testfftopt.f90 (code 1)

$ifort -fpp -coarray  testfftopt.f90

but works fine.  Same setup as the previous case, ifort (IFORT) 14.0.1 20131008, it also seems to cause a crash on v13.1 of the compiler as well. 

I have attached the code.

0 Kudos
Steven_L_Intel1
Employee
923 Views

Thanks - we'll take a look.

0 Kudos
Steven_L_Intel1
Employee
923 Views

This is already fixed for update 2, due out in early February. For reference, our issue ID is DPD200247083. The bug relates to asking for debug information in when a contained routine contained coarray references.

0 Kudos
northrup
Beginner
923 Views

Steve,

Thanks for the update.   Does the fix deal with the transpose and coarray issue shown in the first post example as well?

Thanks

 

0 Kudos
Steven_L_Intel1
Employee
923 Views

Sorry, no. I had overlooked that you were reporting two different problems. The TRANSPOSE problem is still there and I will report it to the developers. Issue ID is DPD200252838.

0 Kudos
Steven_L_Intel1
Employee
923 Views

The TRANSPOSE problem has been fixed and I expect the fix to be included in Update 3 (late April).

0 Kudos
Reply