This is the mail archive of the
mailing list for the GCC project.
Re: gcc parallel make check
- From: Tobias Burnus <tobias dot burnus at physik dot fu-berlin dot de>
- To: VandeVondele Joost <joost dot vandevondele at mat dot ethz dot ch>, gcc at gcc dot gnu dot org, fortran at gcc dot gnu dot org
- Date: Wed, 3 Sep 2014 12:03:44 +0200
- Subject: Re: gcc parallel make check
- Authentication-results: sourceware.org; auth=none
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\]* \
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.
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.