"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.

Reply via email to