[petsc-dev] CFLAGS and COPTFLAGS

Barry Smith bsmith at mcs.anl.gov
Sat Jan 18 11:09:15 CST 2014


On Jan 18, 2014, at 10:43 AM, Jed Brown <jed at jedbrown.org> wrote:

> Barry Smith <bsmith at mcs.anl.gov> writes:
>>   Do people really set some of the above and not set the -O%d one at the same time?
> 
> I don't know.  Sometimes the MPI wrapper adds the -O flag itself.  The
> user might know that and thus not bother adding it themselves.  I think
> it would be surprising for some special flags to cause such changes in
> behavior.  I don't have a strong opinion on this point, but I think we
> should do something better than we have now.

   Summary

   The reason for the current model is that in the original plan —with-debugging=0 would providing good compiler optimization flags (for each system) without the user having to set them; if the user set them via COPTFLAGS then we did set them ourselves.

   Observations

    1)   The “standard” for passing optimization flags to ./configure is CFLAGS=“-O3 crap” we don’t support this and this confuses users

    2) If we followed the standard and the user only set non-optimization flags with CFLAGS we would not turn on optimization when user might expect it (does this ever happen?)

    3) We provide a different, “better" way of providing optimization flags and other CFLAGS, but know one knows about it.

    4) Our —with-debugging=0 optimization flags are pretty bad, we should improve them

    So choices are

     A) follow standard

     B) Continue our way

      C) Hybrid that does not use our own flags if user provides optimization flag.

Request-assigned: Satish,  if CLAGS contains a -O    CXXFLAGS contains a -O FFLAGS contains a -O then turn off PETSc generation of optimization flags for that compiler

Request-assigned: Satish,  if mpicc, mpicxx, mpifc provide -O flags then turn off PETSc generation of optimization flags

    Won’t completely satisfy anyone but me.

   Barry







More information about the petsc-dev mailing list