[mpich-discuss] per-object build issue

Balaji, Pavan balaji at anl.gov
Thu May 29 15:06:28 CDT 2014


It looks correct (I’m surprised other compilers didn’t catch it), though it should be moved to the existing "#if defined(MPICH_IS_THREADED) && !defined(MPID_DEVICE_DEFINES_THREAD_CS)” block in mpiimplthread.h.

Can someone at Argonne create a patch and push to mpich-review?  I’ll review it more formally.

Thanks,

  — Pavan

On May 29, 2014, at 2:09 PM, Archer, Charles J <charles.j.archer at intel.com> wrote:

> No problem.
> 
> Anyone from ANL brave enough to patch this in?
> I’m not sure what it will break, I definitely didn’t test it extensively across all threading types.
> 
> -C
> 
> On May 29, 2014, at 12:03 PM, Greenberg, Hugh N <hng at lanl.gov> wrote:
> 
>> Charles,
>> 
>> It seems to work.  Thanks a lot!
>> 
>> On May 29, 2014, at 12:41 PM, Archer, Charles J <charles.j.archer at intel.com> wrote:
>> 
>>> I hit this problem at some point as well, and proposed a patch…I kept the patch around in my git stash:
>>> Hopefully it helps you.
>>> 
>>> diff --git a/src/include/mpiimplthread.h b/src/include/mpiimplthread.h
>>> index f0141c6..c2e1cee 100644
>>> --- a/src/include/mpiimplthread.h
>>> +++ b/src/include/mpiimplthread.h
>>> @@ -1039,5 +1039,18 @@ do {                                           \
>>> #define MPIU_THREAD_MPI_OBJ_FINALIZE(objptr_) do {} while (0)
>>> #endif
>>> 
>>> +#if defined(MPICH_IS_THREADED) && !defined(MPID_DEVICE_DEFINES_THREAD_CS)
>>> +static void
>>> +MPIU_Thread_CS_enter_lockname_impl_(enum MPIU_Nest_mutexes kind,
>>> +                                    const char *lockname,
>>> +                                    MPID_Thread_mutex_t *mutex);
>>> +
>>> +
>>> +static  void
>>> +MPIU_Thread_CS_exit_lockname_impl_(enum MPIU_Nest_mutexes kind,
>>> +                                   const char *lockname,
>>> +                                   MPID_Thread_mutex_t *mutex);
>>> +#endif
>>> +
>>> #endif /* !defined(MPIIMPLTHREAD_H_INCLUDED) */
>>> 
>>> 
>>> 
>>> On May 29, 2014, at 11:29 AM, Greenberg, Hugh N <hng at lanl.gov> wrote:
>>> 
>>>> I’m having a problem building mpich 3.1 with the enable-thread-cs=per-object build option.  I get a lot of errors like these:
>>>> 
>>>> /src/include/mpiimplthreadpost.h:27: warning: conflicting types for 'MPIU_Thread_CS_enter_lockname_impl_'
>>>> ./src/include/mpiimplthreadpost.h:27: error: static declaration of 'MPIU_Thread_CS_enter_lockname_impl_' follows non-static declaration
>>>> ./src/include/mpiimpl.h:1280: note: previous implicit declaration of 'MPIU_Thread_CS_enter_lockname_impl_' was here
>>>> 
>>>> Is there a fix for this?  Thanks.
>>>> _______________________________________________
>>>> discuss mailing list     discuss at mpich.org
>>>> To manage subscription options or unsubscribe:
>>>> https://lists.mpich.org/mailman/listinfo/discuss
>>> 
>>> _______________________________________________
>>> discuss mailing list     discuss at mpich.org
>>> To manage subscription options or unsubscribe:
>>> https://lists.mpich.org/mailman/listinfo/discuss
>> 
>> _______________________________________________
>> discuss mailing list     discuss at mpich.org
>> To manage subscription options or unsubscribe:
>> https://lists.mpich.org/mailman/listinfo/discuss
> 
> _______________________________________________
> discuss mailing list     discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss




More information about the discuss mailing list