From:Nick Holford 
Subject:[NMusers] Intel Fortran 7 Compiler
Date:Mon, 02 Dec 2002 00:06:42 +1300


Compaq/HP, the current developer of Visual Fortran, is planning a combined Fortran compiler product
with Intel.

Intel is offering a 30 day free evaluation of Intel Fortran 7 (160 Mbyte download).

This seems to be a beta testing effort of the Intel Fortran compiler which will be used to merge
Compaq Visual Fortran with Intel Fortran.

According to various posts on the Intel Fortran Users forum ( current users of Compaq Digital Fortran (Version
6.*) may purchase Intel Fortran 7 for US$200 with a one year upgrade guarantee. This would seem to be
a good deal for keeping up with the next version of Visual Fortran.

I have done some limited testing of the Intel Fortran compiler (ivf) with NONMEM. 

ivf shares a bug/feature with g77 and adds its own problems (which can be worked around).

1. Intermediate output cannot be sent to the DOS con device because it seems the con device is not
recognized. Define FNINT as 'nul' instead of 'con' in BLKDAT. g77 behaves the same way.
2. The NONMEM FLU subroutine requires the USE IFLPORT statement in order to use the COMMITQQ
3. The NONMEM OFILES suboutine cannot open unit 34 because it has already been opened. Comment out the
OPEN statement for unit 34.

I have run the valfit1 through valfit5 problems distributed some time ago by Peter Bonate. These
problems all use the same data but span a range of difficulty for estimation. Some seem to minimize
successfully and run the covariance step with any compiler while others usually terminate and even if
minimization is successful the covariance step usually fails.

I tried several optimization settings and the one that seems to work best (convergence) is /Gs
/Ob1gyti /Qprec_div. As far as I can tell there are no direct equivalents of the Compaq df options
/fltconsistency /optimize:4 /fast.

On a 2 GHz Pentium IV the ivf compiler was generally slower (20% longer per function evaluation).
On a 1 GHz Pentium III the ivf compiler took 42% longer per function evaluation (/G6 PIII option).
Average run times were 42% longer on the 1 GHz PIII compared to the 2 GHz PIV with df and 65% longer
using ivf.

Convergence behaviour on the 2 GHz PIII is summarized below:

          Converged     Covariance   Objective
          df   ivf      df    ivf    df   ivf
valfit1:  y     y       y      y     9612 9612
valfit2:  n     y       n      n     8280 8564
valfit3:  n     n       n      n     7784 7784
valfit4:  y     y       y      y     8350 8350
valfit5:  n     y       n      n     8350 8350

ivf converges but at a much lower obj on valfit2
ivf converges but df does not (obj is the same) on valfit5
ivf and df were similar on the other problems

The behaviour with valfit2 suggests that the df compiler (version 6.6A) may be better because it gets
a much lower obj. On the other hand ivf was better with valfit5 (converged) but the obj and parameters
were the same as df. The df compiler is substantially faster with the Pentium III CPU.


Nick Holford, Divn Pharmacology & Clinical Pharmacology
University of Auckland, 85 Park Rd, Private Bag 92019, Auckland, New Zealand tel:+64(9)373-7599x6730 fax:373-7556