I am trying to prepare my application for an analysis by VTune Amplifier. I created a new configuration by copying the existing Release configuration and changing Debugging settings for both Compiler and Linker. Re-building the application triggers ICE C0000005 for multiple source files, both for 32-bit and 64-bit platforms. This did not happen for the Release configuration.
The new configuration uses following compiler settings:
/nologo /debug:full /O2 /fpp /D_PARALLELIZATION_ /D_X64_ /fixed /extend_source:132 /Qopenmp /fpscomp:general /Qdiag-disable:8290,8291 /warn:declarations /warn:unused /warn:truncated_source /warn:noalignments /warn:interfaces /assume:byterecl /module:"x64\VTune Amplifier\\" /object:"x64\VTune Amplifier\\" /Fd"x64\VTune Amplifier\vc100.pdb" /libs:static /threads /c
I was able to narrow down the source code in one of the files to:
subroutine inner_sources ( nx, ny, nz, spm, t, enableOpenMP, threads ) integer(4) :: nx, ny, nz integer(4), dimension(nx,ny,nz) :: spm real*8, dimension(nx,ny,nz) :: t logical*4 :: enableOpenMP integer(4) :: threads, i, j, k, mm integer(4), parameter :: MSB = 10000 real*8, dimension(MSB) :: T_min, T_max real*8 :: tP !dec$ if defined (_PARALLELIZATION_) !$omp parallel if ( enableOpenMP ) num_threads ( threads ) default ( shared ) !$omp& private ( i, j, k, mm, tP ) !$omp& reduction ( MAX: T_max ) !$omp& reduction ( MIN: T_min ) !$omp do schedule(dynamic,3) !dec$ end if do i=2,nx-1 do j=2,ny-1 do k=2,nz-1 mm = spm(i,j,k) if ( mm.gt.0 ) then tP = t(i,j,k) if ( tP.lt.T_min(mm) ) T_min(mm) = tP if ( tP.gt.T_max(mm) ) T_max(mm) = tP end if end do end do end do !dec$ if defined (_PARALLELIZATION_) !$omp end do !$omp end parallel !dec$ end if return end
Could you please let me know what I can do to resolve this ICE that is preventing me from using VTune Amplifier? Any workaround would be appreciated. Or, I am participating in the Intel Parallel Studio XE Beta program, so if this issues is already resolved there, I can start using the beta version (I have not done so yet).
I am using Intel Parallel Studio XE 2016 Update 2 on Windows 7 Professional SP1 64-bit and in Visual Studio 2010 SP1.
I tried compiling the source file in VS and I got ICE, the build log is attached and so is the source file.
Compiling the source file from the command line (the console window title is Intel Compiler 16.0 Update 2 Intel (R) 64 Visual Studio 2010), using the same options that are listed in VS, there is no ICE.
I noticed that the build log from VS contains one compiler option that is not listed in the compiler's command line overview: /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin\amd64". Adding it to the compiler options used in the command line makes no difference; it still works fine there.
You say you are using 2016 Update 2, but I can reproduce this error only using 2016 Update 1. The Update 2 compiler works fine. Please check Tools > Options > Intel Compilers and Tools > Visual Fortran > Compilers > X64 and make sure that "Latest" is selected.
I checked that "Latest" is selected. I found both Update 1 and Update 2 compilers available in the list, so I uninstalled Update 1 from my computer and everything works OK now. Thank you for your kind and prompt help.