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

attempt to compare Qparallel vs. Qopenmp compilation (15.0.2)

TimP
Honored Contributor III
581 Views

I thought I remembered that it used to be possible to compile an OpenMP source file with /Qparallel, omitting /Qopenmp.   Now I get an immediate ICE when I try it.  I don't recall seeing any advice about new procedures needed, e.g. to prevent the compiler from seeing OpenMP specific stuff.

I would have kept quiet here and simply submitted it to premier.intel.com if that site were accepting submissions.

0 Kudos
3 Replies
Steven_L_Intel1
Employee
581 Views

A test case would be appreciated - an ICE is never correct behavior. And feel free to let me know privately what is blocking you from premier.intel.com.

0 Kudos
TimP
Honored Contributor III
581 Views

Today, the premier "businessportal" site still allows me to attach source files to a new issue, but doesn't respond to the Next button at that stage.  Yesterday, it could proceed to the Submit screen but would throw an error when that button is clicked.  Running win8.1 with Firefox, a combination which worked occasionally a few months ago.

With the attached files, which have OpenMP directives, 'ifort -fpp -c lcdmod.f90 loopsfv.F' produces ICE C0000005.  It works normally when -Qopenmp is set.  In the absence of -Qopenmp, no OpenMP 4 clauses should be visible due to pre-processing against OpenMP version number. 

I can save pre-processed source by  -E and then it is possible to make a .obj, if I don't add either the option -Zi, nor the Qopt-report4 option, either of which will bring back the ICE.  Then it fails to link with the .obj for the C interop function, as the pre-processed source code for the USE seems to preempt the symbol definition and both suppress the ICE and break the link.

If I were running this only on linux I would not be using a C interop function for timing, as f2003 system_clock would be sufficient.  I've noticed that omp_get_wtime has become good for ifort Windows, but haven't adopted the change (I suppose it can be used in a Qparallel build).

0 Kudos
Steven_L_Intel1
Employee
581 Views

Thanks, Tim. I can reproduce the error in 15.0.2 but not in the internal version of what I think is going to be 15.0.3, so it looks as if this may be already fixed. When you get 15.0.3 if you still see the problem please let us know.

I will also ask the team to look into the Premier problems you mention.

0 Kudos
Reply