Re: Building NAMD for Opteron Cluster with ICC

From: Peter Freddolino (petefred_at_ks.uiuc.edu)
Date: Sat Mar 07 2009 - 21:56:29 CST

Hi Chris,
I haven't seen a similar problem... if no one else here has any ideas,
you may want to get in touch with the charm++ folks, as this is more
directly their department.

Peter

Chris Share wrote:
> Thanks for the response.
>
> I tried a build using:
>
> mpi-linux-amd64-mpicxx
>
> as the build configuration. This built OK, however if I try make pgm (for megatest as suggested in the NAMD build notes) I get the following:
>
> make pgm
> ./../../bin/charmc -c megatest.ci
> ./../../bin/charmc -o megatest.o megatest.C
> "megatest.C", line 185: warning: variable "numtests" was declared but never
> referenced
> int numtests, i;
> ^
>
> ./../../bin/charmc -c groupring.ci
> ./../../bin/charmc -o groupring.o groupring.C
> ./../../bin/charmc -c nodering.ci
> ./../../bin/charmc -o nodering.o nodering.C
> ./../../bin/charmc -c varsizetest.ci
> ./../../bin/charmc -o varsizetest.o varsizetest.C
> ./../../bin/charmc -c varraystest.ci
> ./../../bin/charmc -o varraystest.o varraystest.C
> ./../../bin/charmc -c groupcast.ci
> ./../../bin/charmc -o groupcast.o groupcast.C
> ./../../bin/charmc -c nodecast.ci
> ./../../bin/charmc -o nodecast.o nodecast.C
> ./../../bin/charmc -c synctest.ci
> ./../../bin/charmc -o synctest.o synctest.C
> ./../../bin/charmc -c fib.ci
> ./../../bin/charmc -o fib.o fib.C
> ./../../bin/charmc -c arrayring.ci
> ./../../bin/charmc -o arrayring.o arrayring.C
> ./../../bin/charmc -c tempotest.ci
> ./../../bin/charmc -o tempotest.o tempotest.C
> ./../../bin/charmc -c packtest.ci
> ./../../bin/charmc -o packtest.o packtest.C
> ./../../bin/charmc -c queens.ci
> ./../../bin/charmc -o queens.o queens.C
> ./../../bin/charmc -c migration.ci
> ./../../bin/charmc -o migration.o migration.C
> ./../../bin/charmc -c marshall.ci
> ./../../bin/charmc -o marshall.o marshall.C
> ./../../bin/charmc -c priomsg.ci
> ./../../bin/charmc -o priomsg.o priomsg.C
> ./../../bin/charmc -c priotest.ci
> ./../../bin/charmc -o priotest.o priotest.C
> ./../../bin/charmc -c rotest.ci
> ./../../bin/charmc -o rotest.o rotest.C
> ./../../bin/charmc -o statistics.o statistics.C
> ./../../bin/charmc -c templates.ci
> ./../../bin/charmc -o templates.o templates.C
> ./../../bin/charmc -c inherit.ci
> ./../../bin/charmc -o inherit.o inherit.C
> ./../../bin/charmc -c reduction.ci
> ./../../bin/charmc -o reduction.o reduction.C
> ./../../bin/charmc -c bitvector.ci
> ./../../bin/charmc -o bitvector.o bitvector.C
> ./../../bin/charmc -c immediatering.ci
> ./../../bin/charmc -o immediatering.o immediatering.C
> ./../../bin/charmc -c callback.ci
> ./../../bin/charmc -o callback.o callback.C
> ./../../bin/charmc -o pgm megatest.o groupring.o nodering.o varsizetest.o varraystest.o groupcast.o nodecast.o synctest.o fib.o arrayring.o tempotest.o packtest.o queens.o migration.o marshall.o priomsg.o priotest.o rotest.o statistics.o templates.o inherit.o reduction.o bitvector.o immediatering.o callback.o -language charm++
> megatest.o: In function `_registermegatest(void)':
> /nfs/user2/cpsmusic/NAMD_INTEL/namd2/charm-6.0/mpi-linux-amd64-mpicxx/tests/charm++/megatest/megatest.C:152: undefined reference to `_registerInitCall(void (*)(void), int)'
> megatest.o: In function `__register__12CkIndex_mainSFPCcUl':
> /nfs/user2/cpsmusic/NAMD_INTEL/namd2/charm-6.0/mpi-linux-amd64-mpicxx/tests/charm++/megatest/megatest.C:130: undefined reference to `CkIndex_Chare::__idx(void)'
> /nfs/user2/cpsmusic/NAMD_INTEL/namd2/charm-6.0/mpi-linux-amd64-mpicxx/tests/charm++/megatest/megatest.C:130: undefined reference to `CMessage_CkArgMsg::__idx(void)'
> ..
> Fatal Error by charmc in directory /home/cpsmusic/NAMD_INTEL/namd2/charm-6.0/mpi-linux-amd64-mpicxx/tests/charm++/megatest
> Command mpicxx -o pgm -L../../../bin/../lib -I../../../bin/../include ../../../bin/../lib/libldb-rand.o megatest.o groupring.o nodering.o varsizetest.o varraystest.o groupcast.o nodecast.o synctest.o fib.o arrayring.o tempotest.o packtest.o queens.o migration.o marshall.o priomsg.o priotest.o rotest.o statistics.o templates.o inherit.o reduction.o bitvector.o immediatering.o callback.o moduleinit11730.o ../../../bin/../lib/libmemory-default.o ../../../bin/../lib/libthreads-default.o -lck -lconv-cplus-y -lconv-core -lconv-util -lckqt -ldl -lm returned error code 2
> charmc exiting...
> make: *** [pgm] Error 1
>
> Is the Charm++ build correct for the system I'm running on? Any idea why the test isn't building?
>
> Cheers,
>
> Chris
>
> ----- Original Message ----
>
> From: Peter Freddolino <petefred_at_ks.uiuc.edu>
> To: Chris Share <cpsmusic_at_yahoo.com>
> Cc: namd-l_at_ks.uiuc.edu
> Sent: Saturday, 7 March, 2009 4:18:12 PM
> Subject: Re: namd-l: Building NAMD for Opteron Cluster with ICC
>
> You'll actually want to build with mpicxx as the compiler (or whatever
> the appropriate mpi wrapper for your compiler is), not icc. Also, don't
> select SMP unless (as noted in the charm++ docs and by the build script)
> you want to run on a *single, SMP node*.
> Best,
> Peter
>
> Chris Share wrote:
>
>> Hi,
>>
>> I'd like to build NAMD on an AMD Opteron Cluster using Infiniband and running 64-bit CentOS 5. I've managed to successfully build NAMD on my local machine (not the cluster) using several different configurations (GCC, PGI, CUDA). However, I'm unclear as to how to proceed in the case of the cluster build. I'd like to use the Intel compilers as these give the best performance. I'd also like to use MPI.
>>
>> Firstly, how should I build Charm++?
>>
>> Am I right in thinking that the Charm++ build configuration should be:
>>
>> ./build charm++ mpi-linux-amd64 icc smp
>>
>> When I run this I get the following error:
>>
>> Selected Compiler: icc
>> Selected Options: smp
>> Copying src/scripts/Makefile to mpi-linux-amd64-smp-icc/tmp
>> Soft-linking over bin
>> Soft-linking over lib
>> Soft-linking over lib_so
>> Soft-linking over include
>> Soft-linking over tmp
>> Generating mpi-linux-amd64-smp-icc/tmp/conv-mach-pre.sh
>> Performing '/usr/bin/gmake charm++ OPTS=' in mpi-linux-amd64-smp-icc/tmp
>> /usr/bin/gmake headerlinks
>> gmake[1]: Entering directory `/nfs/user2/cpsmusic/NAMD_INTEL/namd2/charm-6.0/mpi-linux-amd64-smp-icc/tmp'
>> ./configure
>> checking machine name... mpi-linux-amd64-smp-icc
>> checking "C++ compiler as"... "icpc -fpic -cxxlib-icc -D_REENTRANT "
>> checking "whether C++ compiler works"... "no"
>> Cannot compile C++ programs with icpc -fpic -cxxlib-icc -D_REENTRANT
>> (check your charm++ version)
>> gmake[1]: *** [conv-autoconfig.h] Error 1
>> gmake[1]: Leaving directory `/nfs/user2/cpsmusic/NAMD_INTEL/namd2/charm-6.0/mpi-linux-amd64-smp-icc/tmp'
>> gmake: *** [headers] Error 2
>> -------------------------------------------------
>> Charm++ NOT BUILT. Either cd into mpi-linux-amd64-smp-icc/tmp and try
>> to resolve the problems yourself, visit
>> http://charm.cs.uiuc.edu/
>> for more information. Otherwise, email the developers at ppl_at_cs.uiuc.edu
>>
>> Am I on the right track here?
>>
>> Any help would be appreciated.
>>
>> Cheers,
>>
>> Chris
>>
>>
>> Stay connected to the people that matter most with a smarter inbox. Take a look http://au.docs.yahoo.com/mail/smarterinbox
>>
>>
>
>
> Stay connected to the people that matter most with a smarter inbox. Take a look http://au.docs.yahoo.com/mail/smarterinbox
>

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