Hi Joost,
VandeVondele Joost wrote:
> I've noticed that
> make -j -k check-fortran
> results in a serialized checking, while
> make -j32 -k check-fortran
> goes parallel.
I have to admit that I don't know why that's the case. However, I can answer
the next question, is presumably related to this one:
> Somewhat related.... is there a rule of thumb on how is the granularitys
> of parallel check decided ?
DejaGNU is not able to run checks in parallel - thus, we have only makefile
parallelization (check-gcc, check-gfortran). As that wasn't suifficient,
Jakub (?) split the single tests into multiple ones, trying to do ensure that
those subtargets all take about the same time.
See: gcc/fortran/Make-lang.in, which has:
# For description see comment above check_gcc_parallelize in gcc/Makefile.in.
check_gfortran_parallelize = dg.exp=gfortran.dg/\[adAD\]* \
dg.exp=gfortran.dg/\[bcBC\]* \
dg.exp=gfortran.dg/\[nopNOP\]* \
dg.exp=gfortran.dg/\[isuvISUV\]* \
dg.exp=gfortran.dg/\[efhkqrxzEFHKQRXZ\]* \
dg.exp=gfortran.dg/\[0-9gjlmtwyGJLMTWY\]*
Thus, you currently get 6 parallel check-gfortran checks - followed by one
which tries to combine the results.
I think Diego has some means to run GCC's in a vastly parallel way, which
break due to a test-framework issue / gfortran.dg-dependency issues. See
PR56408. Thus, you could asks him how he does it. Additionally, I wouldn't
mind if some lispy person could look at the PR - my attempts failed, but,
admittedly, I didn't spend much time on it.
Tobias
PS: There was/is the reoccuring thought of replacing DejaGNU by a different
framework or to enhance it, but not much substantial work has happened,
despite some occasional effort.
At least DejaGNU is now back under maintaince, cf.
http://git.savannah.gnu.org/gitweb/?p=dejagnu.git;a=summary