[petsc-dev] different compiler behavior in make libfast and make ally

Satish Balay balay at mcs.anl.gov
Mon Sep 9 21:02:15 CDT 2013


On Mon, 9 Sep 2013, Jed Brown wrote:

> > The error happened in roughly 10% of 100 consecutive
> > compilations of the file.  Happens with -O1 and -O2.
> > But no error when optimization is off.  Although I
> > have not gone so far as having a minimal workaround, two
> > possible solutions are to have optimization off for select
> > functions in a few files using #pragma or just turn off
> > optimizations for three directories where such errors
> > happened -
> >
> > src/mat/impls/sbaij/seq/sbstream
> > src/mat/impls/sbaij/seq
> > src/mat/impls/baij/seq
> 
> These directories have some of the kernels that stand the most chance of
> benefiting from optimization.  If you break the files up, do the errors
> go away?

We broke up baijfact2.c due to similar issue with compilers failing on
it.  So perhaps some of these files need breaking up aswell.

But these files [sbaij2.c and sbstrmfact.c which were in the first report]
are not that big. But MS C compiler fails on it..

Before spliting baijfact2.c was:
>>>>>>>
balay at asterix /home/balay/petsc.clone/src/mat/impls/baij/seq (maint-3.3)
$ wc -l baijfact2.c 
6281 baijfact2.c
<<<<<<<

After split - we have:
>>>>>>>
balay at asterix /home/balay/petsc.clone/src/mat/impls/baij/seq (maint)
$ wc -l baijfact2.c baijs*.c
   790 baijfact2.c
  1500 baijsolv.c
  1773 baijsolvnat.c
  1383 baijsolvtran.c
   870 baijsolvtrannat.c
  6316 total
<<<<<<<<

sbaij2.c and sbstrmfact.c is relatively small compared to the above.

>>>>>>>
balay at asterix /home/balay/petsc.clone/src/mat/impls/sbaij/seq (master)
$ wc -l sbaij2.c 
1419 sbaij2.c
balay at asterix /home/balay/petsc.clone/src/mat/impls/sbaij/seq/sbstream (master)
$ wc -l sbstrmfact.c
722 sbstrmfact.c
<<<<<<<<<<

But sbaijfact2.c is bigger so a split might help..
>>>>>>>>>
balay at asterix /home/balay/petsc.clone/src/mat/impls/sbaij/seq (master)
$ wc -l sbaijfact2.c 
2820 sbaijfact2.c
<<<<<<<

Satish



More information about the petsc-dev mailing list