Hi, working with a relatively complex software system, the offending code pointed out from err file traceback is this:
wrt_int_state%BND_VARS_V%VAR_3D(NV)%SOUTH(NA,NB,NC,NT)=BUFF_NTASK(NX)
I will list the things I know and I really appreciate any help on clarifying this. Is this a user code problem or compiler bug?
Compile command line:
mpiifort -g -openmp -mkl=sequential -align array32byte -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread -openmp -convert big_endian -assume byterecl -mkl=sequential -O3 -g -traceback -ftz
Compiler version:
intel/14.0.2
impi/5.1.1.109
What I have tried:
I found the SIGSEGV crash will go away if I dump the numbers involved and they actually are all correct. I find it strange why touching the memory will fix the problem.
print *, NVARS_BC_3D_V, NV, NT, NC, NB, &
wrt_int_state%LOCAL_ISTART(NTASK),wrt_int_state%LOCAL_IEND(NTASK), NA, &
'wrt_int_state%BND_VARS_V%VAR_3D(NV)%SOUTH', size(wrt_int_state%BND_VARS_V%VAR_3D(NV)%SOUTH)
wrt_int_state%BND_VARS_V%VAR_3D(NV)%SOUTH(NA,NB,NC,NT)=BUFF_NTASK(NX)
The exact same code when built on a different system using also intel compilers does not crash at all.