After installing both XE15 and XE16 on one of our Linux clusters, we realized that the simple code here
real(kind=8)::a a=123456789d0 open(10,file='bin.dat', form='unformatted') write(10) a close(10) end
does not produce the same output (byte order) in the XE15 and XE16 environments.
Has a default value for the FORT_CONVERT.ext, FOR_CONVERTn and/or F_UFMTENDIAN environment variables changed from 15 or 16? Or does this point at an error in our installation?
Thanks Steve - I wanted to exhaust all options here, I agree this hypothesis was a one in a million shot; are there options others than the one indicated above to change the endian convention? It is puzzling because we are just loading/unloading the module for XE16 (reverting back to XE15) and we see the change between the two.
There's also FORT_CONVERT_ext (not to be confused with FORT_CONVERT.ext). Plus CONVERT= on OPEN, OPTIONS and -convert on compile. Also look for ifort.cfg files that specify defaults. Ask for a listing file (-list) and see what it shows for the convert option.