[petsc-dev] Is mpich/master:a8a2b30fd21 tested with Petsc?
Eric Chamberland
Eric.Chamberland at giref.ulaval.ca
Tue Apr 17 14:10:59 CDT 2018
Hi,
are we talking about the "tag" passed to MPI_Isend for example?
but does that mean there is something to change for any MPI call which
involves tags usage or is it only a PETSc "bad" tag usage?
thanks Satish for your finding!
Eric
On 16/04/18 11:31 PM, Satish Balay wrote:
> On Tue, 13 Mar 2018, Eric Chamberland wrote:
>
>> Hi,
>>
>> each night we are testing mpich/master with our petsc-based code. I don't
>> know if PETSc team is doing the same thing with mpich/master? (Maybe it is a
>> good idea?)
>>
>> Everything was fine (except the issue
>> https://github.com/pmodels/mpich/issues/2892) up to commit 7b8d64debd, but
>> since commit mpich:a8a2b30fd21), I have a segfault on a any parallel nightly
>> test.
>
> I attempted a bisect of the above range of commits - and narrowed down to:
>
>>>>>>>>
> db11d4c4a70e39a28be88ed32f00542301699e08 is the first bad commit
> <<<<<<<
>>>>>>>>>
> balay at asterix /home/balay/soft/build/mpich ((db11d4c4a...)|BISECTING)
> $ git show db11d4c4a70e39a28be88ed32f00542301699e08
> commit db11d4c4a70e39a28be88ed32f00542301699e08 (HEAD, refs/bisect/bad)
> Author: Ken Raffenetti <raffenet at mcs.anl.gov>
> Date: Thu Feb 15 11:37:59 2018 -0600
>
> init: Fix tag upper limit initialization
>
> The starting point for this value is equivalent to the usable tag bits
> macro. This value should be set before device initialization,
> otherwise devices will assume they have more bits than are actually
> available.
>
> Signed-off-by: Wesley Bland <wesley.bland at intel.com>
>
> diff --git a/src/mpi/init/initthread.c b/src/mpi/init/initthread.c
> index cbc41f4d5..b31ae2f07 100644
> --- a/src/mpi/init/initthread.c
> +++ b/src/mpi/init/initthread.c
> @@ -403,7 +403,7 @@ int MPIR_Init_thread(int *argc, char ***argv, int required, int *provided)
> MPIR_Process.attrs.host = MPI_PROC_NULL;
> MPIR_Process.attrs.io = MPI_PROC_NULL;
> MPIR_Process.attrs.lastusedcode = MPI_ERR_LASTCODE;
> - MPIR_Process.attrs.tag_ub = 0;
> + MPIR_Process.attrs.tag_ub = MPIR_TAG_USABLE_BITS;
> MPIR_Process.attrs.universe = MPIR_UNIVERSE_SIZE_NOT_SET;
> MPIR_Process.attrs.wtime_is_global = 0;
>
> @@ -531,13 +531,6 @@ int MPIR_Init_thread(int *argc, char ***argv, int required, int *provided)
> MPIR_Assert(((unsigned) MPIR_Process.
> attrs.tag_ub & ((unsigned) MPIR_Process.attrs.tag_ub + 1)) == 0);
>
> - /* Set aside tag space for tagged collectives and failure notification */
> -#ifdef HAVE_TAG_ERROR_BITS
> - MPIR_Process.attrs.tag_ub >>= 3;
> -#else
> - MPIR_Process.attrs.tag_ub >>= 1;
> -#endif
> -
> /* Assert: tag_ub is at least the minimum asked for in the MPI spec */
> MPIR_Assert(MPIR_Process.attrs.tag_ub >= 32767);
>
> <<<<<<<<<<<<<<<<<
>
> Reverthing this patch gets mpich-3.3b2 working with petsc
>
> Satish
>
More information about the petsc-dev
mailing list