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@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@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@asterix /home/balay/petsc.clone/src/mat/impls/sbaij/seq (master) $ wc -l sbaij2.c 1419 sbaij2.c balay@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@asterix /home/balay/petsc.clone/src/mat/impls/sbaij/seq (master) $ wc -l sbaijfact2.c 2820 sbaijfact2.c <<<<<<< Satish
