Re: Compilation of Charm++ on Linux opteron cluster with MPICH-GM installed

From: Gengbin Zheng (gzheng_at_ks.uiuc.edu)
Date: Wed May 25 2005 - 23:05:47 CDT

I forward Eric's email to namd mailinglist, since the question was also
posted there earlier.
btw, old charm source (the one come with namd2.5) uses "opteron" for
Opteron build. If you download the lastest version of charm, it changed
to net-linux-amd64.
ia64 is for Intel Itanium processor machine.

Gengbin

Eric Bohm wrote:

>1. You could build mpi-linux-amd64-gm or net-linux-amd64-gm. I generally
>get better results with the latter.
>
>./build charm++ net-linux-amd64 gm -nobs
>
>2. In our machine layer we refer to it as amd64
>
>3. Depends a lot on the version of each. I'll leave this one for someone
>with more experience with pgcc to address.
>
>4. Yes, as in the build line I supplied above.
>
>5. Charm will default to the mpich-gm in your path if you build using
>mpi-linux-amd64 gm, but charm is not dependant on mpich-gm. If the gm
>library is somewhere obscure you may need to adjust the conv-mach.sh
>script if it isn't found. The -nobs option turns off the building and
>use of shared libraries, they don't build reliably on opterons.
>
>
>
>junwang wrote:
>
>
>
>>Dear Charm++ Developers:
>>
>>Could you give me any suggestions on compiling the source code on our Linux opteron cluster with MPICH-GM installed?
>>
>>On entering NAMD_2.5_Source/charm,I am not sure which version I am supposed to use after typing ./build --help.
>>1. mpi-linux or net-linux ?
>>2. Does our opteron 248 64-bit cpu belong to ia64 type?
>>3. Which compiler is better? gcc or pgcc?
>>4. Am I supposed to set gm and opteron specific options?
>>5. Before typing ./build command am I supposed to set any environment variables, such as
>>CC=gcc and locations of other libraries, ie. home/usr/mpich.gcc-64/, -L/usr/gm/lib -lgm ?
>>
>>
>>When I was building charm with "./build charm++ mpi-linux gm -O", a fatal error occured as following:
>>..
>>..
>>Soft-linking headers...
>>touch headerlinks
>>touch basics
>>cd QuickThreads;./configure
>>rm -f QuickThreads/libqt.a
>>cd QuickThreads ; make qt OPTS='-O -build-shared'
>>make[1]: Entering directory `/home/zeng/jwang/NAMD_2.5_Source/charm/mpi-linux-ia64-gm/tmp/QuickThreads'
>>rm -f qtmd.h
>>./system_ln md/setjmp_d.h qtmd.h
>>./../bin/charmc -seq -I. -pedantic -c -o qt.o qt.c
>>passing unrecognized option -pedantic to all compilers and linkers
>>./../bin/charmc -seq -I. -c -o qtmds.o md/setjmp.c
>>md/setjmp.c: In function `qt_args_1':
>>md/setjmp.c:28: warning: cast to pointer from integer of different size
>>md/setjmp.c:31: warning: cast from pointer to integer of different size
>>md/setjmp.c:31: warning: passing arg 1 of `longjmp' from incompatible pointer type
>>md/setjmp.c: In function `qt_args':
>>md/setjmp.c:43: warning: cast to pointer from integer of different size
>>md/setjmp.c: In function `qt_block':
>>md/setjmp.c:60: warning: cast to pointer from integer of different size
>>md/setjmp.c:63: warning: cast from pointer to integer of different size
>>md/setjmp.c:63: warning: passing arg 1 of `longjmp' from incompatible pointer type
>>md/setjmp.c: In function `qt_abort':
>>md/setjmp.c:76: warning: cast from pointer to integer of different size
>>md/setjmp.c:76: warning: passing arg 1 of `longjmp' from incompatible pointer type
>>./../bin/charmc -seq -I. -o libqt.a qt.o qtmds.o
>>./../bin/charmc -seq -I. -shared -o libqt.so qt.o qtmds.o
>>Warning: creating libqt.so
>>/usr/bin/ld: qtmds.o: relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC
>>qtmds.o: could not read symbols: Bad value
>>collect2: ld returned 1 exit status
>>Fatal Error by charmc in directory /home/zeng/jwang/NAMD_2.5_Source/charm/mpi-linux-ia64-gm/tmp/QuickThreads
>>Command gcc -o libqt.so -shared -L/home/zeng/jwang/NAMD_2.5_Source/charm/mpi-linux-ia64-gm/lib_so qt.o qtmds.o returned error code 1
>>charmc exiting...
>>make[1]: *** [qt] Error 1
>>make[1]: Leaving directory `/home/zeng/jwang/NAMD_2.5_Source/charm/mpi-linux-ia64-gm/tmp/QuickThreads'
>>make: *** [QuickThreads/libqt.a] Error 2
>>-------------------------------------------------
>>Charm++ NOT BUILT. Either cd into mpi-linux-ia64-gm/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
>>
>>
>>Our cluster hardware configuration is as below:
>>Number of nodes 128
>>Processors total 256
>>Theoretical peak performance (GFlops) 1126.4
>>Total peak performance (GFlops) 888.5
>>Total memory (GB) 1024
>>Total disk (GB) 3680
>>Interconnect Technology(1) Myrinet
>>Interconnect Technology(2) Gigabit Ethernet
>>Operating System Linux
>>Communication software MPICH-GM
>>Main application area Scientific Computing
>>Year installed/last upgraded 2002/2004
>>
>>Each Node
>>Type of processor Opteron 248
>>
>>Processors per node 2
>>
>>Frequency (Mhz) 2200
>>
>>Node peak performance (GFlops) 8.8
>>
>>Memory per node (MB) 4096
>>
>>Disk per node (GB) 20
>>
>>Filesystem Server
>>Type of processor Opteron
>>Processors in node 2
>>Frequency (Mhz) 2200
>>Filesystem Type RAID 5
>>Total disk (GB) 1014
>>Total memory (GB) 2.5
>>
>>Software installed in our cluster follows:
>>System specification and software installed:
>>Kernel Version: 2.4.21-226
>>Compilers: *GCC Compilers
>>/usr/bin/ (version 3.2.2)
>>/opt/gcc32/bin/ (version 3.2.3)
>>/opt/gcc33/bin/ (version 3.3)
>>/opt/gcc34/bin/ (version 3.4.2)
>>/opt/gcc40/bin/ (version 4.0.0 20050220-this is a pre-release)
>>*For the above compilers, use -m32 for 32-bit, and -m64 for 64-bit.
>>
>>
>>
>>**PGI Compilers
>>/home/pgi/linux86-64/5.1/bin/ (version 5.1-6)
>>/home/pgi/linux86-64/5.2/bin/ (version 5.2-4)
>>**For the above compilers, use -tp k8-32 for 32-bit, and -tp k8-64 for 64-bit.
>>
>>
>>
>>MPI Compilers (version mpichgm-1.2.5..13)
>>/home/usr/mpich.gcc/bin (32-bit build using gcc 3.4.2)
>>/home/usr/mpich.gcc-64/bin (64-bit build using gcc 3.4.2)
>>/home/usr/mpich.pgi/bin (64-bit build using pgi 5.1-6)
>>/home/usr/mpich.pgi-32/bin (32-bit build using pgi 5.1-6)
>>Note: You may want to use the same flags for compiling in 32-bit/64-bit as regular compilers to be sure you compile in a particular "bit".
>>Glib Version: glibc-2.2.4-13
>>Job scheduler: PBSPro 5.4.2
>>Interconnection Libraries: Myricom GM networking software gm-2.0.13
>>Atlas 3.4.1 (in /usr/local/lib and /usr/local/include) documents) LAPACK 3.0.2 with Atlas (in /usr/lib)
>>(IMSL)
>>
>>
>>Best regards,
>>Sincerely,
>>Jun WANG
>>
>>Department of Chemistry
>>University of Nebraska-Lincoln
>>536 Hamilton Hall
>>Lincoln, NE 68588-0304
>>U.S.A.
>>E-mail:junwang_at_unlserve.unl.edu
>> junwang_at_bigred.unl.edu
>>
>>
>>
>>
>>
>>

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