Per-subrroutine optimization level

Per-subrroutine optimization level

Bild des Benutzers Keith R.

I have a problem with a particular piece of code (which is not mine to simply rearrange at will) which causes ifc's optimizer to consume larger and larger amounts of memory until either it crashes (at -O3) or simply locks the machine up for 5 minutes paging (at -O2).

The code in question consists of very large nested case statement, which are actually machine-generated. To be fair to Intel, many other compilers exhibit exactly the same behaviour.

Is there any way of selectively reducing the optimization level for a single subroutine in a module? The Cray compilers had a directive to do this, and I wonder if anything similar exists for ifc.

2 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.
Bild des Benutzers Martyn Corden (Intel)

I don't know of a way to change the optimization level for just part of a module. I suggest you submit a small test case containing a very large, nested case statement to Intel Premier Support at https://premier.intel.com.
Of course, workarounds would not be difficult if you were able to change the source, or split the module.

Martyn

Melden Sie sich an, um einen Kommentar zu hinterlassen.