"Smith, Barry F." <[email protected]> writes: > Jed, > > Why are the modules always built last? > > ..... > FC arch-basic/obj/sys/objects/f2003-src/fsrc/optionenum.o > FC arch-basic/obj/sys/classes/bag/f2003-src/fsrc/bagenum.o > FC arch-basic/obj/mat/f90-mod/petscmatmod.o > FC arch-basic/obj/dm/f90-mod/petscdmmod.o > FC arch-basic/obj/dm/f90-mod/petscdmplexmod.o > FC arch-basic/obj/ksp/f90-mod/petsckspmod.o > FC arch-basic/obj/snes/f90-mod/petscsnesmod.o > FC arch-basic/obj/ts/f90-mod/petsctsmod.o > FC arch-basic/obj/tao/f90-mod/petsctaomod.o > > I don't think they have any dependency on the compiled C code so couldn't > each module (still build sequentially within the list of modules) run in > parallel with a bunch of C compilers? Why are they always scheduled last, > forcing sequential?
The Fortran modules depend on each other so build sequentially. Look way up in your compilation history and you'll see lines for petscsysmod.o and later petscvecmod.o. Compiling those modules is just that slow compared to the hundreds of C compilations that run in parallel.
