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

Assistance Needed on Previous Query - Can Someone Please Provide Insight?

lins2
Novice
360 Views

Hello Intel Community,
I hope this message finds you well.
A few days ago, I posted a query regarding :

Assistance Needed with Upgrading Fortran Compiler Options from ifort 2021.10 to ifx 2024.2 - Intel Community

 

But unfortunately, I have not yet received any responses. I understand that the community members generously volunteer their time and expertise, and I am deeply appreciative of the support provided here.
However, I am still in need of assistance with this issue and would be immensely grateful if someone could take a moment to offer some guidance or share their knowledge on the matter.

 

Thank you very much for your time. I look forward to any help you can provide.

 

Best regards,

lins2

0 Kudos
1 Reply
Ron_Green
Moderator
301 Views

Here is your list

 

Windows Options:

  • Retire /Qcomplex-limited-range  <- correct
  • Replace /Qzero- with /Qinit:nozero  <- correct
  • Retire /Qip. <- correct, done by default.  You might try /Qipo if you want interproc. opts. across source files
  • Retire /Qprec. <- yes.  the optimizers are quite different and generally ifx is less aggressive than ifort.   Try without any precision options.  if numerics diverge from expected, try /Qprec-div and/or /fp:source or /fp:precise
  • Retire /QaxSSE2. <- yes, SSE3 is the lowest common denominator now.  I am surprised that your PRIMARY targeted path was SSE2. Generally after /Qax you want your HIGHEST common denominator vectorization, such as /Qaxcore-avx2 followed by any lower targeted instruction sets.  /Qaxcore-avx2 for example makes your primary code path AVX2, and the fallback is SSE3.  generally you want the highest after /Qax and any secondary and teriary paths set with a comma separated list and/or -m<lowest target set> 
  • Replace /Qopenmp with /Qiopenmp. <- you could use this, but /Qopenmp does the same thing.  the "i" was used a few years ago but is no longer necessary.  Stick with /Qopenmp

Linux Options:

  • Retire -complex-limited-range <- correct
  • Retire -fp-port <- correct, see -fp-model 
  • Retire -prec-sqrt <- 
  • Replace -qopenmp with -fiopenmp <-not necessary, could stay with -qopenmp (I would).
  • Replace -zero with -init=zero <- yes
  • Retire -ip <- yes. 
Reply