I was trying to compile a f90 file with triple precision (I know it's not common but, anyway...). After a couple of minutes, it says this:
ifort: error #10106: Fatal error in /opt/intel/Compiler/11.1/072/bin/intel64/fortcom, terminated by kill signal
compilation aborted for foo.f90 (code 1)
My compilation command is just:
ifort -r16 foo.f90
But, everything is okay when I use double precision, by changing the -r16
to -r8
.
Could you please tell me what's the possible reason of this? I've checked my codes and I guess there's no problem. Of course, if you need I could show you.
The version of my compiler is Version 11.1 Build 20100414
I think r16 is quadruple precision, at least in common usage, since 4 bytes is considered single precision.
Since there is a compiler option to enable 16 byte reals, I doubt it is thoroughly broken.
I would suggest compiling piece by piece to find out where the problem is. A quick test (calculating the root of 2) should show you whether the compiler can basically handle 16 byte reals.
Do you use pointers, common blocks, modules, or external libraries in your code?