AW: Namd-I: namd compiling problem

From: Norman Geist (norman.geist_at_uni-greifswald.de)
Date: Thu Aug 04 2011 - 00:33:59 CDT

Hi,
 
very strange. You could try if the precompiled binaries work for that
machine, also you can use your other binary that worked. What kind of
hardware is it. If the architecture isn’t fully different, there should not
be a performance loss if you use the same binary for both machines, ll the
more if you don’t used optimization levels (like –O3 or something). Also the
precompiled binaries work fine.
 
Other thing is, regarding to the +idlepoll and libcudart problem, that your
machine somehow thinks that you want to have a cuda build, there you should
investigate, maybe your compiler on this machine is somehow corrupt or
something and so does’nt interpret the #pragma precompiler directives
correctly, which control the way the program will be compiled, and which
features will be minded.
 
Best regards
 
Norman Geist.
 
Von: owner-namd-l_at_ks.uiuc.edu [mailto:owner-namd-l_at_ks.uiuc.edu] Im Auftrag
von Ye Yang
Gesendet: Mittwoch, 3. August 2011 17:46
An: Norman Geist
Cc: Namd Mailing List
Betreff: Re: namd-l: Namd-I: namd compiling problem
 
Hi, Norman:
Thanks for the advice.
The problem is that I did not use the cuda version, I just downloaded source
code and compiled it with multicore-linux64
, and it works perfectly on another machine.

Also, I have run namd (the linux64 version) on this machine, and it never
shows any problem with rsh before.

Is there anything that I could do?
Thank you very much.

Ye

2011/8/3 Norman Geist <norman.geist_at_uni-greifswald.de>
Hi Ye,
 
just follow the messages namd gives to you. When you want ro run parallel
jobs, you need a program to logon to the other hosts, or even at single host
runs, the host needs to connect to itself. Usually this is done with the
command ssh (secure shell) or rsh (remote shell), both work fine. You need
to have this tool installed on your machines you want to run namd on. This
is usually very easy.
 
The other issue you have is the cuda version of namd. This version always
needs to be runned with the +idlepoll parameter like:
 
charmrun +p2 namd2 +idlepoll <yourconfig>
 
AND your need to put your namd2 directory to the LD_LIBRARY_PATH to tell
namd where to search for the libcudart, which is usually shipped with the
downloadable binaries or maybe in the cuda toolkit or with your namd source.
This is done for example if your shell is bash:
 
export LD_LIBRARY_PATH=/your/namd-dir-with-the-lib/:$LD_LIBRARY_PATH
 
This exports the environment variable with the right directory to the
libcudart. If you want to run namd-cuda in parallel this is no problem on a
single host. Just add ++local to the charmrun command to pas through the
LD_LIBRARY_PATH to the other processes getting spawned. To run on multible
machines you have to add the parameter ++runscript to the charm command to
execute a script which exports the LD_LIBRARY_PATH on the target hosts
before namd gets started, because you may not use the ++local command with
runs on multible machines. The runsscript could look like:
 
#!/bin/bash
export LD_LIBRARY_PATH=/your/namd-dir-with-the-lib/:$LD_LIBRARY_PATH
 
Save it to runscript.sh for example and call namd like
 
charmrun ++runscript runscript.sh +p4 ++nodelist yournodelist namd2
+idlepoll <yourconfig>
 
Mit freundlichen Grüßen
 
Norman Geist.
 
Von: owner-namd-l_at_ks.uiuc.edu [mailto:owner-namd-l_at_ks.uiuc.edu] Im Auftrag
von Ye Yang
Gesendet: Mittwoch, 3. August 2011 05:28
An: NAMD list
Betreff: namd-l: Namd-I: namd compiling problem
 
Dear namd experts:

        It seems that I have met some troubles when compiling namd.
        I am using the ./configure Linux-86_64-g++ charm-arch
multicore-Linux64 to configure on two different machines..
        One of them is fine with "make", and runs normally.
        The other one, however shows some errors each time I run namd:
error while loading shared libraries: libcudart.so.2: cannot open shared
object file: No such file or directory. It makes me puzzled since I did not
use the cuda version.
        when I use "find / -namd" to locate it, the result is:
        /usr/local/lib/vmd/libcudart.so.2
        Also, even if I I added the LD path to avoid this, there is still
problem:
        when I try namd2, it always said "Please add +idlepoll to command
line for proper performance"
        And if I try charmrun + p6 namd2, it will show:
        Charmrun> Couldn't find rsh program 'rsh'!
        Charmrun> Couldn't find rsh program 'rsh'!
       Charmrun> Error 1 returned from rsh (localhost:0)
       Charmrun> Couldn't find rsh program 'rsh'!
       Charmrun> Couldn't find rsh program 'rsh'!
          Could anyone help me with this?
          Thank you very much.

Best
Wishes

Ye Yang

      
 

This archive was generated by hypermail 2.1.6 : Wed Feb 29 2012 - 05:24:16 CST