This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcc parallel make check


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]