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

Compilation much slower

peteman100
Beginner
876 Views

Compling my code now takes on the order of minutes, where it once was seconds. The "fortcom" process runs for a long time before an executable is created. I've read this sort of issue is related to a misplaced license file and looking at $INTEL_LMD_DEBUG does show that the license check is still trying to complete during that period. But re-adding mine to /opt/intel/licenses/ didn't make a difference. What should I be doing to diagnose the source of the issue?

I'm using ifort version 12.1.6, same issue occurs on OSX 10.8 and Ubuntu 12.04.2. Thanks for your help!

0 Kudos
8 Replies
Georg_Z_Intel
Employee
876 Views
Hello, could you try to set the environment variable $INTEL_LICENSE_FILE to point exactly to the *.lic (license) file? It has to be a valid one, of course. In that case, the lookup of license files starts with the one provided which should be much faster than searching through multiple directories (local & probably remote). Best regards, Georg Zitzlsberger
0 Kudos
peteman100
Beginner
876 Views

I did what you said, but it didn't seem to help. Looking at the debug information, it looks like the license file is found quickly but the server then hangs. I know I'm no supposed to post the debug info here, since it contains my license information, but I'm not sure how to interpret what the issue might be. Is there some other data that I could post to help identify the problem?

0 Kudos
peteman100
Beginner
875 Views

Quick update.

I've found that I don't have the issue when I compile a simple program that just prints a line when executed. The debug output of the license check is the same until the point where the more complicated code hangs. On the output that has issues, I see two things that are different:

There are many more of the following outputs repeated  "INTEL_LMD: flex_pre_fork: called" and "INTEL_LMD: flex_post_fork: called"

Next, there is a string of checkoutfilter outputs that don't exist when compiling occurs immediately

INTEL_LMD: checkoutfilter: called for feature: FCompM
INTEL_LMD: checkoutfilter: VENDOR_STRING: <SUPPORT=STU https://registrationcenter.intel.com>;
INTEL_LMD: checkoutfilter: next VENDOR_STRING keyword: SUPPORT=<STU>
INTEL_LMD: checkoutfilter: ignore: keyword SUPPORT is disabled for filtering
INTEL_LMD: checkoutfilter: next VENDOR_STRING keyword: https://registrationcenter.intel.com
INTEL_LMD: checkoutfilter: ignore: keyword https://registrationcenter.intel.com is disabled for filtering
INTEL_LMD: checkoutfilter: returns ACCEPT
INTEL_LMD: checkoutfilter: called for feature: FCompM
INTEL_LMD: checkoutfilter: VENDOR_STRING: <SUPPORT=STU https://registrationcenter.intel.com>;
INTEL_LMD: checkoutfilter: next VENDOR_STRING keyword: SUPPORT=<STU>
INTEL_LMD: checkoutfilter: ignore: keyword SUPPORT is disabled for filtering
INTEL_LMD: checkoutfilter: next VENDOR_STRING keyword: https://registrationcenter.intel.com
INTEL_LMD: checkoutfilter: ignore: keyword https://registrationcenter.intel.com is disabled for filtering
INTEL_LMD: checkoutfilter: returns ACCEPT
INTEL_LMD: checkoutfilter: called for feature: FCompM
INTEL_LMD: checkoutfilter: VENDOR_STRING: <SUPPORT=STU https://registrationcenter.intel.com>;
INTEL_LMD: checkoutfilter: next VENDOR_STRING keyword: SUPPORT=<STU>
INTEL_LMD: checkoutfilter: ignore: keyword SUPPORT is disabled for filtering
INTEL_LMD: checkoutfilter: next VENDOR_STRING keyword: https://registrationcenter.intel.com
INTEL_LMD: checkoutfilter: ignore: keyword https://registrationcenter.intel.com is disabled for filtering
INTEL_LMD: checkoutfilter: returns ACCEPT

Any thoughts as to what this might mean?

0 Kudos
Georg_Z_Intel
Employee
875 Views
Hello, I've received your $INTEL_LMD_DEBUG logs and don't see any reason why execution times should be different. Hence, I'd ask for more information: - Are you using a license server? - Is the license file /opt/intel/composer_xe_2011_sp1.12.374/bin/intel64/NCOM____XXX the one that is intended? - Could you please provide me more information about the environment used for the case it gets stuck? Which are the compiler options and which kind of build system (parallel builds?) are used, and are you building on a local disk in both cases? Thank you & best regards, Georg Zitzlsberger
0 Kudos
peteman100
Beginner
875 Views

- I believe I'm using a local license, instead of a license server. I have an educational license, which didn't require me to set up a server.

- Yes, the NCOM__XXX license is the one I pulled of the My Intel website

- The primary environment that I use is OS X 10.8 with Xcode 4.41 and ifort 12.1.6. But I've also noticed the same problem on a workstation we use that runs Ubuntu 12.04.2. The typical flags that I run are '-O3 -fp-model precise -fp-model except', but I notice the same delay if I just use -O2. I'm not currently running anything like OpenMP. All cases are being built on the local disk.

Let me know if there is any other information that I can provide

0 Kudos
Georg_Z_Intel
Employee
875 Views
Hello, can we exclude that optimization is causing the delay? Could you compile your project with -O0 and measure the difference to -O2/-O3? If there is a significant difference we can exclude a license look-up issue. If you use IPO/PGO you have to expect more computation time by the compiler. Do you use those? Best regards, Georg Zitzlsberger
0 Kudos
peteman100
Beginner
875 Views

Unfortunately, the same delay occurs when I compile with -O0, so I think it must be a license issue. I don't believe I use IPO or PGO, likely confirmed by the fact that I don't know what either is....

If my license was somehow changed or invalidated, my program wouldn't compile at all, correct? So the delay means that its taking a while to confirm the validity of the license. On the debug output, the license is listed as x86. I'm pretty sure OSX 10.8 is an x64 operating system. If an x64 version of ifort was installed, could that cause the problem? Is there anything else that I should be looking at?

Thanks for all your help.

0 Kudos
jimdempseyatthecove
Honored Contributor III
875 Views

>> I don't believe I use IPO

IPO is on by default. Use -Qip- to turn it off.

Can you run a disk (per disk) and network monitor to see if you have unexpected I/O?

Jim Dempsey

0 Kudos
Reply