Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29424 Discussions

WRF installation problem-An internal threshold was exceeded:

vaidea
Beginner
1,393 Views
Hello everybody,

I am trying to compile WRFV3 on a Linux cluster with 16 nodes (main node with Open SUSE 10.3, x86_64) with Intel Fortran compiler version 10.0.1.008 and the gcc compiler.I am using the MPICH2. The compile creates all the .exe files,and does not give any errors. But I found in the compile.log file the following, which i guess is the reason for my problems when running wrf.exe (it doesn't run for more than 30sec, and is not producing any outputs - basicly it doesn't work) :
.......................
mediation_force_domain.f90(6): (col. 12) remark: An internal threshold was exceeded: loops may not be vectorized or parallelized. Try to reduce routine size.
..................
module_first_rk_step_part1.f90(12): (col. 14) remark: An internal threshold was exceeded: loops may not be vectorized or parallelized. Try to reduce routine size.
........................
solve_em.f90(5): (col. 12) remark: An internal threshold was exceeded: loops may not be vectorized or parallelized. Try to reduce routine sizeSpace exceeded in Data Dependence
Test in solve_em_
Subdivide routine into smaller ones to avoid optimization loss
threshhold reached= 35814
solve_em.f90(5): (col. 12) remark: An internal threshold was exceeded: loops may not be vectorized or parallelized. Try to reduce routine size.
.............................



I tried a bunch of different flags for the fortran compiler, but non of them appears to handle the problem Sad smiley [:(]

Does anybody have a clue what is the problem in my case. I will be grateful for any suggestions!

Thanks very much in advance!

Vassil


0 Kudos
5 Replies
TimP
Honored Contributor III
1,393 Views

No, none of those messages account for your failure. They would account for poor performance, once you get it running. I don't know that anyone has succeeded in running WRF with MPICH2. I would suggest that you follow more closely suggestions from experts who have been successful with this.

Not being such an expert, I would suggest that you use eitheran ifortversion which has been proven with this application, or a more up to date one, along with an MPI which has been proven.If you are making random choices of ifort options, such that you aren't able to report which you tried, you should consider something more systematic. Short of copying a successful build, you mightstart with-assume byterecl,buffered_io,protect_parens,minus0 along with either -prec-div -prec-sqrtor -fp-model precise (and, again, a more reliable MPI). Please check whether the byterecl option is required; if you got it wrong, direct access files would fail.

Your choice of OpenSUSE 10.3 and, presumably, the gcc which comes with it, aren't bad, if all updates are applied. It is unlikely to be a choice which would be made by organizations actually using this application, or one which has been tested. When you try to break new ground, you should start with proven methods and change fewer things at one time.

0 Kudos
vaidea
Beginner
1,393 Views
Thanks very much for the advices! I will try these options you offer.

But I am not sure that the problem is in the MPICH2. Because on the same cluster we have CMAQ model running with no problems with MPICH2 and the same compilers. And the thing is that the wrf.exe basicly doesn't run. it stops the first 30 seconds, no matter the input data. it is starnge that rela.exe runs normaly.

Vassil
0 Kudos
Ron_Green
Moderator
1,393 Views
And did you get a chance to read the Intel documentation on building WRF with the Intel Compilers at:

http://support.intel.com/support/performancetools/sb/CS-028607.htm

and did that help?

ron
0 Kudos
vaidea
Beginner
1,393 Views
Yes, I read the the Intel documentation on building WRF with the Intel Compilers. didn't help :( . there was one clue on a flag to put, in order not to get the internal threshold remark in the log file, but it is valid for a newer version of the compiler.

Vassil
0 Kudos
TimP
Honored Contributor III
1,393 Views
The recommendation to set all direct access files to big-endian looks particularly important. If you are importing or exporting files in that format, it is mandatory for those files.
0 Kudos
Reply