The problem of slower compilation when migrating to newer version of fortran compiler has already been adressed on this forum, however none of the solutions mentioned there seem to fit my problem.
I have Intel Fortran 2016 and 2014 installed. When compiled with IF2016 no matter whether for 32-bit or x64 the compilation time is 5 times longer.
Currently I am working with VS2010, but this is also a problem in VS2015 - in case this should matter. My operating system is Windows 7.
Regarding license, well, I am using floating license. I tried to see whether this may be a problem but seems not. I've compiled simple "Hello world" porgram as Steve Lionel in this post:
that is using:
set INTEL_LMD_DEBUG=log.txt ifort -c hello.f90
Here's what the log.txt file says regarding license paths. There is only one place where USE_SERVE.LIC file resides.
INTEL_LMD: checkout: license file(s) used were (in this order):
INTEL_LMD: 1. C:\Program Files (x86)\Common Files\Intel\Licenses\USE_SERVER.lic
INTEL_LMD: 2. C:\Program Files\Common Files\Intel\Licenses
INTEL_LMD: 3. C:\PROGRA~2\INTELS~1\COMPIL~1\windows\bin\ia32\*.lic
I have also performed small comparison using output obtained with ProcessMonitor when compiling a single file. I tried to see where ifort.exe spends most of its time for both IF14 and IF16. My investigation has shown that:
- For some reason IF16 visits HKCR over 800 times, while IF14 does not care about it at all
Generally under HKCR\Wow6432Node, e.g.
- Also number of visits in HKCU is 10x larger in case of IF16
- The number of visits in HKLM is about 2x larger
- while IF14 uses about 0.005s under Composer XE directory, the IF16 spends 0.02s under SWTools
- also for sysWOW64 I've observed almost 4x longer time
I would really appreciate if you could try to help me. Currently compilation time is not acceptable, especially bearing in time previous compilation time.
Yes - and perhaps on a license server that is slow to access.
I've been told that a workaround is to get an evaluation license - if you uninstall and reinstall the compiler and choose the 30-day evaluation, it will skip the floating license check.
Thanks for your answer. I tried to get the evaluation version but could not find proper part for evaluation license during installation, therefore I let it go.
However I've been playing with settings lately and notticed that when I use multi-porcessor compilation then the duration is much shorter than expected and when I look inside the license-related log file the number of checkouts is considerably smaller! Now this helps, but since I have many fortran libs included in my project, can you please guide me how do I enforce MP-compilation for all fortran libs but by changing setting only in one place?
Can you also explain why there is such a difference between MP compilation and non-MP compilation when it comes to floating license?
I have another problem. I was building libraries one by one for my diagnostics, but appears that when I try to build the entire project then it complains that mkl_cdft_core_dll.lib cannot be found, and indeed I do not have it in my system. I have already fully reinstalled IF16.
I am using Professional edition but maybe I need the Cluster one?
Pardon the delayed reply. I will try to help in Steve’s absence.
I’m not clear on how you triggered multi-processor compilation, can you elaborate?
Or maybe you are already aware of and are referring to having done this; the number of parallel builds is configuration under Tools > Options > Projects and Solutions > Build and Run and the "maximum number of parallel project builds". That should apply to across the complete solution/projects. I haven't played with this setting in the past so I need to inquire with our license experts about your MP vs. non-MP compilation w/a floating license.
Regarding the missing MKL library, you should not require the Cluster Edition but that library is an optional add-on not installed by default (https://software.intel.com/en-us/node/528487). To install try via Control Panel clicking on Intel Parallel Studio XE 2016 and use Uninstall/Change, select Modify, and step through the menus to add the additional MKL libraries. This article has some additional details to help, https://software.intel.com/en-us/articles/intelr-mkl-new-install-option.