- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
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.
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Of course, workarounds would not be difficult if you were able to change the source, or split the module.
Martyn

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page