I got the following warning when using ifort on a Linux computer, and I am wondering what it means, and how I can avoid it. I googled it, but I am not sure that I fully understood the problem.
The warning message I get is:
ifort: warning #10247: explicit static allocation of locals specified, overriding OpenMP*'s implicit auto allocation
The version of ifort is:
ifort (IFORT) 16.0.3 20160415
Copyright (C) 1985-2016 Intel Corporation. All rights reserved.
The program that I compiled is:
if (io.ne.0) exit
and the command line is:
ifort -qopenmp essai.f90
I got the same warning message with more complex codes and command lines involving Openmp and MKL. I am compiling the same codes on other clusters with the same command lines without getting this warning. So, I am wondering why this warning appears on this specific computer, how I can avoid it, and what could be the consequences if I cannot avoid it.
In advance thank you.
If the warning occurs only when you have no omp parallel directive, it may be of no consequence. Explicit local static allocation of a variable which is update inside an omp parallel region would be expected to create a race condition.
If this warning is specific to one installation of ifort, you should look for ifort.cfg in your ifort installation to see if there are settings there, or set -qopt-report and look for additional compiler flags on this installation. You may wish to remove or over-ride any such flags.
Thank you for your help. A file ifor,cfg contains some options (e.g. -save) and was mentioned through the environment variable IFORTCFG. Unsetting this environment variable solves the warning.