PetscPrintf/ifort 9.1

Paul T. Bauman pbauman at ices.utexas.edu
Tue Aug 28 18:55:18 CDT 2007


Hello,

Kind of a non-numerical question - sorry.  I'm using PetscPrintf from 
Fortran using the following calling sequence (for example):

     call PetscPrintf(PETSC_COMM_WORLD, 
"=============================================== \n", ierr)
     call PetscPrintf(PETSC_COMM_WORLD, "               Beginning of 
Program \n", ierr)
     call PetscPrintf(PETSC_COMM_WORLD, 
"=============================================== \n", ierr)

On my mac laptop (PowerPC) with PETSc 2.3.2-p7 compiled with gcc 4.0.1 
and g95, this prints as expected:

===============================================
               Beginning of Program
===============================================

On a linux workstation (AMD Opteron) with PETSc 2.3.2-p7 compiled with 
icc, icxx, ifort 9.1, the "\n" is treated as a character and not treated 
as "move to new line" so the output is all on one line:

=============================================== \n               
Beginning of Program \n=============================================== \n

While not the end of the world, it is a bit annoying. Am I screwing up 
the calling sequence and just got lucky with g95?  Or a bug (PETSc or 
Intel)?

Thanks,

Paul

P.S. The reason why I care is because on any compiler I've used (other 
than Intel), write(*,*) prints out at different times and not in 
sequence with PETSc so all my output comes out after PETSc is done 
outputting. Using PetscPrintf, I can have everything print out in order.




More information about the petsc-users mailing list