[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