Re: Make NAMD2.7b1 with cuda bug?

From: Gengbin Zheng (gzheng_at_illinois.edu)
Date: Wed May 13 2009 - 15:47:44 CDT

Ok. That makes sense now.

Gengbin

Jim Phillips wrote:
>
> NAMD will catch the flag if Charm++ doesn't consume it. There's not a
> good way for an application to force polling behavior in Charm++, so
> NAMD requires the flag for Charm++ and then ignores it.
>
> -Jim
>
> On Wed, 13 May 2009, Gengbin Zheng wrote:
>
>>
>> I am not aware of +idlepoll for mpi version of charm. I can not find
>> it in the code either.
>> MPI version of charm is doing idle sleep by default, and does have
>> +idleblocking to turn on blocking wait, which does not work all the
>> time (it assume msg under certain max size). But in any case, it is
>> idleblocking the variable name, instead of idlepolling.
>>
>> Gengbin
>>
>> Jim Phillips wrote:
>>>
>>> This is incorrect. All versions of Charm++ support +idlepoll, and
>>> it is needed by CUDA-enabled NAMD to ensure that the GPU is polled
>>> periodically.
>>>
>>> This code was broken for CUDA builds shortly before the 2.7b1
>>> release and fixed shortly afterwards. Please try the nightly build
>>> source code.
>>>
>>> -Jim
>>>
>>>
>>> On Tue, 12 May 2009, Gengbin Zheng wrote:
>>>
>>>>
>>>> That is a bug in NAMD. idelpoll is only defined in net version of
>>>> charm++, not the mpi-linux-x86_64 version that you are compiling
>>>> NAMD against.
>>>> That code should be changed to:
>>>>
>>>> #if defined(NAMD_CUDA) && CMK_NET_VERSION
>>>> if ( ! idlepoll ) {
>>>> NAMD_die("Please add +idlepoll to command line for proper
>>>> performance.");
>>>> }
>>>> #endif
>>>>
>>>>
>>>> Gengbin
>>>>
>>>>
>>>> Lev Lafayette wrote:
>>>>> Hello NAMDers,
>>>>>
>>>>> I have just installed NAMD2.7b with cuda on our cluster. However
>>>>> during the install process make failed because idlepoll was not
>>>>> defined in src/BackEnd.C (line 135)
>>>>>
>>>>> The install is with openmpi/1.3.2-intel and intel/11.0 compilers.
>>>>>
>>>>> The configure command was ./config Linux-x86_64-icc --charm-arch
>>>>> mpi-linux-x86_64 --with-cuda
>>>>>
>>>>> An attempt to make however results with:
>>>>>
>>>>> src/BackEnd.C(135): error: identifier "idlepoll" is undefined.
>>>>>
>>>>> As a dirty hack I've commented out the relevant lines in
>>>>> src/BackEnd.C
>>>>>
>>>>>
>>>>> //#ifdef NAMD_CUDA
>>>>> // if ( ! idlepoll ) {
>>>>> // NAMD_die("Please add +idlepoll to command line for proper
>>>>> performance.");
>>>>> // }
>>>>> //#endif
>>>>>
>>>>> . and it seems to make just fine after this and test jobs work.
>>>>>
>>>>>
>>>>> Regards,
>>>>>
>>>>>
>>

This archive was generated by hypermail 2.1.6 : Wed Feb 29 2012 - 15:52:47 CST