Quantcast
Channel: Intel® Fortran Compiler for Linux* and macOS*
Viewing all articles
Browse latest Browse all 2583

IPO limits for large code

$
0
0

I am trying to use the IPO while building a fairly large Fortran program (a simulation model) that has highly modular object oriented design and includes several modules and files. The -ipo (and therefore -fast) started issuing the "Access violation or stack overflow. Please contact Intel Support for assistance." error.

The -ipoN or -ipo-separate options recommended in the "IPO for Large Programs" do not help either.

I always get errors like this:

ifort -sox -parallel -O3 -static -heap-arrays -fp-model fast=2 -ipo-separate -ipo-c -xHost -finline-functions -qopt-report=3 -qopt-report-file=zzz_ipo.txt -o MODEL.exe HEDG2_DRV.f90 HEDG2_04.o BASE_UTILS.o BASE_STRINGS.o BASE_CSV_IO.o BASE_LOGGER.o BASE_RANDOM.o
** The compiler has encountered an unexpected problem.
** Segmentation violation signal raised. **
Access violation or stack overflow. Please contact Intel Support for assistance.

fortcom: Severe: **Internal compiler error: internal abort** Please report this error along with the circumstances in which it occurred in a Software Problem Report.  Note: File and line given may not be explicit cause of this error.

ifort: error #10106: Fatal error in /home/opt/intel/compilers_and_libraries_2017.4.196/linux/bin/intel64/fortcom, terminated by segmentation violation
ifort: error #10014: problem during multi-file optimization compilation (code 1)
make: *** [MODEL.exe] Error 1

Does it seem that there are strict limits on the IPO and they have been reached by the code? I am also wondering what performance bonus could be achieved by IPO with large programs (I understand this is a difficult question, and could be different for different codes: ), from the real experience. Does it make sense to dig deeper into the option combinations at all?


Viewing all articles
Browse latest Browse all 2583

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>