PGI User Forum
 SearchSearch   MemberlistMemberlist     RegisterRegister   ProfileProfile    Log inLog in 

Free OpenACC Webinar

problem to generate mm5.mpp

 
Post new topic   Reply to topic    PGI User Forum Forum Index -> Programming and Compiling
View previous topic :: View next topic  
Author Message
inda



Joined: 15 Jul 2008
Posts: 5

PostPosted: Wed Mar 25, 2009 4:36 pm    Post subject: problem to generate mm5.mpp Reply with quote

Hi, I have a cluster with 8 intel xeon processor to 3.16 Ghz, with red hat enterpriser linux v. 5 cluster and pgi 8.0(32 and 64 bits but i use 32) and the cluster is a x86-64. The problem is when a run make mpp appear this:

Code:
/usr/local/mpich/bin/mpicc  -c -I../../MPP -I../../MPP/RSL -I../../pick -I../../MPP/debug -I../../MPP/RSL/RSL -DMPP1 -DIOR=2 -DIWORDSIZE=4 -DRWORDSIZE=4 -DLWORDSIZE=4 -DASSUME_HOMOGENEOUS_ENVIRONMENT=1 -debug -DMPI -I/usr/local/mpich/include milliclock.c
/usr/local/mpich/bin/mpif90 -o mm5.mpp addall.o addrx1c.o addrx1n.o bdyin.o bdyrst.o bdyten.o bdyval.o cadjmx.o coef_diffu.o condload.o consat.o convad.o couple.o date.o dcpl3d.o dcpl3dwnd.o decouple.o define_comms.o diffu.o dm_io.o dots.o dtfrz.o fillcrs.o fkill_model.o gamma.o gauss.o hadv.o init.o initsav.o initts.o kfbmdata.o kill_model.o lb_alg.o lbdyin.o mhz.o mm5.o mp_equate.o mp_initdomain.o mp_shemi.o mparrcopy.o mpaspect.o nconvp.o nudge.o output.o outsav.o outtap.o outts.o outts_c.o param.o paramr.o rdinit.o rho_mlt.o savread.o settbl.o setvegfr.o sfcrad.o shutdo.o slab.o solar1.o solve.o sound.o subch.o trans.o transm.o upshot_mm5.o vadv.o vecgath.o write_big_header.o write_fieldrec.o write_flag.o                                exmoiss.o                                cup.o cupara3.o maximi.o minimi.o              heipre.o maxim.o minim.o moiene.o precip.o zunc.o   cloudws.o entrs.o kerhels.o shallcu.o shallow.o araouts.o      mrfpbl.o tridi2.o                    initnest.o chknst.o                  nstlev1.o nstlev2.o nstlev3.o                  mp_stotndt.o smt2.o bcast_size.o                  merge_size.o mp_feedbk.o                  rdter.o            lwrad.o swrad.o            milliclock.o ../../MPP/RSL/RSL/librsl.a -O2 -Mcray=pointer -mp -Mnoframe -Mbyteswapio -Mnosgimp -L/usr/local/mpich/lib -lfmpich -lmpich
/usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS reference in ../../MPP/RSL/RSL/librsl.a(rsl_malloc.o)
/lib/libc.so.6: could not read symbols: Bad value
make[1]: [all] Error 2 (no tiene efecto)
/bin/mv mm5.mpp ../../Run/mm5.mpp


I succesfully configure mpich2 with fortran using 32 bits:

Code:
env CFLAGS="-O2 " CXXFLAGS="-O2" FFLAGS="-O2 " F90FLAGS="-O2 " LDFLAGS="-O2 " OPTFLAGS="-O2 " CC="pgcc" CXX="pgCC" F90="pgf90" FC="pgf77" CPP="pgCC -E" ./configure --prefix=/path/to/install/dir


the configure.user in mm5 have this:

Code:
RUNTIME_SYSTEM = "linux"
MPP_TARGET=$(RUNTIME_SYSTEM)
# edit the following definition for your system
LINUX_MPIHOME = /usr/local/mpich
##LINUX_MPIHOME = /usr/local/lam_intel
MFC = $(LINUX_MPIHOME)/bin/mpif90
MCC = $(LINUX_MPIHOME)/bin/mpicc
MLD = $(LINUX_MPIHOME)/bin/mpif90
##FCFLAGS = -O3 -convert big_endian -pc32 -axT
FCFLAGS = -O2 -Mcray=pointer -mp  -Mnoframe -Mbyteswapio -Mnosgimp
##LDOPTIONS = -O3 -convert big_endian -pc32 -axT
LDOPTIONS = -O2 -Mcray=pointer -mp -Mnoframe -Mbyteswapio -Mnosgimp
##LOCAL_LIBRARIES = -L$(LINUX_MPIHOME)/lib -llamf77mpi -lmpi -llam
##LOCAL_LIBRARIES = -L$(LINUX_MPIHOME)/lib -llamf77mpi -lmpi -llam
LOCAL_LIBRARIES = -L$(LINUX_MPIHOME)/lib -lfmpich -lmpich
MAKE = make -i -r
AWK = awk
SED = sed
CAT = cat
CUT = cut
EXPAND = expand
M4 = m4
CPP = /lib/cpp -C -P -traditional
CPPFLAGS = -DMPI -Dlinux -DSYSTEM_CALL_OK
CFLAGS = -debug -DMPI -I$(LINUX_MPIHOME)/include
ARCH_OBJS =  milliclock.o
IWORDSIZE = 4
RWORDSIZE = 4
LWORDSIZE = 4


somebody have idea to resolve this problem or some one want to give me a advice to modify mi configure.user.

best regards.
Joe

cuestion:
if i use /usr/local/mpich/bin/mpif77 i have a lot of errors, do you know how to resolve this.

some errors:
Code:

/usr/local/mpich/bin/mpicc  -c -I/usr/local/mpich/include -DMPI -DRSL_SYNCIO -Dlinux -DSWAPBYTES -O -I/usr/pgi/linux86/lib -lfmpich -lmpich  -DIMAX_MAKE= -DJMAX_MAKE= -DMAXDOM_MAKE=5 -DMAXPROC_MAKE=256 -DHOST_NODE=0 -DMON_LOW=1 -DALLOW_RSL_168PT=1  period_def.c
period_def.c(79): warning #266: function "rsl_fatal" declared implicitly
    RSL_TEST_ERR( i == RSL_MAXDESCRIPTORS,


Code:
/usr/local/mpich/bin/mpif77 -c -O -byteswapio mpi_init_f.F
/usr/local/mpich/bin/mpif77: line 298: /opt/intel/fc/10.0.023/bin/ifc: No existe el fichero o el directorio
make[2]: [mpi_init_f.o] Error 127 (no tiene efecto)
/usr/local/mpich/bin/mpicc  -c -I/usr/local/mpich/include -DMPI -DRSL_SYNCIO -Dlinux -DSWAPBYTES -O -I/usr/pgi/linux86/lib -lfmpich -lmpich  -DIMAX_MAKE= -DJMAX_MAKE= -DMAXDOM_MAKE=5 -DMAXPROC_MAKE=256 -DHOST_NODE=0 -DMON_LOW=1 -DALLOW_RSL_168PT=1  debug.c
debug.c(63): warning #1193: standard requires that parameter "j" be given a type by a subsequent declaration ("int" assumed)
  dumdebug(j)
           ^

/usr/local/mpich/bin/mpif77 -c -O -byteswapio vicopy.F
/usr/local/mpich/bin/mpif77: line 298: /opt/intel/fc/10.0.023/bin/ifc: No existe el fichero o el directorio
make[2]: [vicopy.o] Error 127 (no tiene efecto)
ar cr librsl.a set_padarea.o set_f_padarea.o domain_def.o within_nest.o mesh_topo.o decomp.o show_decomp.o rsl_new_decom.o rsl_nl.o rsl_initial.o rsl_malloc.o index.o border.o pt.o proc.o proc_f.o buf_for_proc.o message_def.o stencil_def.o comp_sten.o pack_message.o exch_sten.o rsl_probe.o comp_cells_f.o comp_cells.o fort_realread.o fort_intread.o fort_complexread.o fort_characterread.o fort_close.o fort_realwrite.o fort_intwrite.o fort_complexwrite.o fort_characterwrite.o rsl_funit_close.o fort_bdyin_real.o rsl_io.o rsl_ioserve.o rsl_init_f.o rsl_mm_io.o handle_spec1.o handle_spec2.o handle_spec3.o rsl_bcast.o rsl_bcast_f.o rsl_merge.o rsl_merge_f.o rsl_order.o rsl_move.o rsl_debug.o rsl_mon_bcast.o rsl_fopen_f.o rsl_fclose_f.o rsl_socket.o comp_slabs.o comp_slabs_f.o destroy_list.o comp_world.o cd.o rsl.o default_decomposition.o rsl_child_info.o get_bdy_info.o rsl_remap_state.o patchmap.o boundary_safe.o fill_boundary.o process_refs.o rsl_error_dup.o fort_doubleread.o  fort_doublewrite.o fort_bdyin_dbl.o comp_period.o exch_period.o period_def.o period_refs.o rsl_hemiforce.o comp_xpose.o xpose_def.o xpose.o rsl_mpi_compat.o mpi_init_f.o debug.o fort_doubleread.o fort_doublewrite.o rsl_error_dup.o fort_bdyin_dbl.o vicopy.o
ar: set_f_padarea.o: No such file or directory
make[2]: [librsl.a] Error 1 (no tiene efecto)
ranlib librsl.a
ranlib: 'librsl.a': No such file
make[2]: [librsl.a] Error 1 (no tiene efecto)
Back to top
View user's profile
mkcolg



Joined: 30 Jun 2004
Posts: 6218
Location: The Portland Group Inc.

PostPosted: Thu Mar 26, 2009 10:32 am    Post subject: Reply with quote

Hi inda,

I don't think the MPICH2 you're using is configured to use the PGI compilers. The warning message from mpicc is not in a PGI format (it looks like gcc or icc) and the mpif77 error is that Intel's fortran compiler can't be found.

Double check that the MPICH2 library you have installed in /usr/local/mpich is the same one you built using the PGI compilers. If you did use the exact MPICH2 configure command you have listed above then you forgot to change the "--prefix=/path/to/install/dir" to the path to the install directory (i.e. /usr/local/mpich). To fix this, you need to rerun configure with the corrected prefix and then rerun 'make install'.

As for the non-TLS error, I have not seen this before. However, I think it should go away once you use the PGI build MPICH library.

- Mat
Back to top
View user's profile
inda



Joined: 15 Jul 2008
Posts: 5

PostPosted: Thu Mar 26, 2009 4:11 pm    Post subject: Reply with quote

Ok Mat i'm going to explain what to do at this moment:

1.- tar -xvf mpich2-1.0.8.tar
2.- cd /home/jose/mpich2/mpich2-1.0.8
3.-
Code:

env CFLAGS="-O2" CXXFLAGS="-O2" FFLAGS="-O2" F90FLAGS="-O2" LDFLAGS="-O2" OPTFLAGS="-O2" CC="pgcc" CXX="pgCC" F90="pgf90"            FC="pgf77" CPP="pgCC -E" ./configure --prefix=/usr/local/mpich2

4.-make 2>&1 | tee make.log (in this file i dont have error and the last line appear Make completed)
5.-make install 2>&1 | tee install.log
6.-all this create /usr/local/mpich2, the bin directory have this:
Code:

check_callstack  mpdallexit.py   mpdhelp.py      mpdrun.py      mpif77
clog2_join       mpdboot         mpdkilljob      mpdsigjob      mpif90
clog2print       mpdboot.py      mpdkilljob.py   mpdsigjob.py   mpirun
clog2_print      mpdcheck        mpdlib.py       mpdtrace       mpirun.py
clog2_repair     mpdcheck.py     mpdlistjobs     mpdtrace.py    parkill
clog2TOslog2     mpdchkpyver.py  mpdlistjobs.py  mpecc.in       slog2filter
clogprint        mpdcleanup      mpdman.py       mpefc.in       slog2navigator
clogTOslog2      mpdcleanup.py   mpd.py          mpicc          slog2print
jumpshot         mpdexit         mpdringtest     mpich2version  slog2updater
logconvertor     mpdexit.py      mpdringtest.py  mpicxx
mpd              mpdgdbdrv.py    mpdroot         mpiexec
mpdallexit       mpdhelp         mpdrun          mpiexec.py


7.- go to MM5, my configure.user have this:
Code:

RUNTIME_SYSTEM = "linux"
MPP_TARGET=$(RUNTIME_SYSTEM)
LINUX_MPIHOME = /usr/local/mpich2
MFC = $(LINUX_MPIHOME)/bin/mpif77
MCC = $(LINUX_MPIHOME)/bin/mpicc
MLD = $(LINUX_MPIHOME)/bin/mpif77
FCFLAGS = -O2 -Mcray=pointer -tp p6 -pc 32 -Mnoframe -byteswapio
LDOPTIONS = -O2 -Mcray=pointer -tp p6 -pc 32 -Mnoframe -byteswapio
LOCAL_LIBRARIES = -L$(LINUX_MPIHOME)/lib -lfmpich -lmpich
MAKE = make -i -r
AWK = awk
SED = sed
CAT = cat
CUT = cut
EXPAND = expand
M4 = m4
CPP = /lib/cpp -C -P -traditional
CPPFLAGS = -DMPI -Dlinux -DSYSTEM_CALL_OK
CFLAGS = -DMPI -I$(LINUX_MPIHOME)/include
ARCH_OBJS =  milliclock.o
IWORDSIZE = 4
RWORDSIZE = 4
LWORDSIZE = 4


8.-make mpp
9.-and finally i have three errors:
Code:

1.-    parsing diffintp.b
/tmp/aaa.13286: type warning: possibly incompatible types. cannot coerce unknown and integer  on line 515.  Ident = max
/tmp/aaa.13286: type warning: possibly incompatible types. cannot coerce unknown and integer  on line 548.  Ident = min
finished parsing diffintp.b
m4 ../../MPP/RSL/LMexp.m4 diffintp.dm | sed '/^$/d' | /lib/cpp -C -P -traditional  -I../../MPP -I../../MPP/RSL -I../../pick -I../../MPP/debug -I../../MPP/RSL/RSL | ../../MPP/col_cutter >diffintp.f
/usr/local/mpich2/bin/mpif77 -c -O2 -Mcray=pointer -tp p6 -pc 32 -Mnoframe -byteswapio diffintp.f 2> diffintp.lis
make[1]: [diffintp.o] Error 2 (no tiene efecto)

2.-  parsing init.b
finished parsing init.b
m4 ../../MPP/RSL/LMexp.m4 init.dm | sed '/^$/d' | /lib/cpp -C -P -traditional  -I../../MPP -I../../MPP/RSL -I../../pick -I../../MPP/debug -I../../MPP/RSL/RSL | ../../MPP/col_cutter >init.f
/usr/local/mpich2/bin/mpif77 -c -O2 -Mcray=pointer -tp p6 -pc 32 -Mnoframe -byteswapio init.f 2> init.lis
make[1]: [init.o] Error 2 (no tiene efecto)
echo init.b init.dm init.f
init.b init.dm init.f

3.- PGC/x86 Linux 8.0-4: compilation completed with warnings
/usr/local/mpich2/bin/mpif77 -o mm5.mpp addall.o addrx1c.o addrx1n.o bdyin.o bdyrst.o bdyten.o bdyval.o cadjmx.o coef_diffu.o condload.o consat.o convad.o couple.o date.o dcpl3d.o dcpl3dwnd.o decouple.o define_comms.o diffu.o diffth.o diffthd.o diffmoi.o diffintp.o dm_io.o dots.o dtfrz.o fillcrs.o fkill_model.o gamma.o gauss.o hadv.o init.o initsav.o initts.o kfbmdata.o kill_model.o lb_alg.o lbdyin.o mhz.o mm5.o mp_equate.o mp_initdomain.o mp_shemi.o mparrcopy.o mpaspect.o nconvp.o nudge.o output.o outsav.o outtap.o outts.o outts_c.o param.o paramr.o rdinit.o rho_mlt.o savread.o settbl.o setvegfr.o sfcrad.o shutdo.o slab.o solar1.o solve.o sound.o subch.o trans.o transm.o upshot_mm5.o vadv.o vadv2.o vecgath.o write_big_header.o write_fieldrec.o write_flag.o                                exmoiss.o                                              cup.o cupara3.o maximi.o minimi.o               heipre.o maxim.o minim.o moiene.o precip.o zunc.o   cloudws.o entrs.o kerhels.o shallcu.o shallow.o araouts.o      mrfpbl.o tridi2.o                    initnest.o chknst.o                  nstlev1.o nstlev2.o nstlev3.o nstlev4.o nstlev5.o                  mp_stotndt.o smt2.o bcast_size.o                  merge_size.o mp_feedbk.o                  rdter.o            lwrad.o swrad.o            milliclock.o ../../MPP/RSL/RSL/librsl.a -O2 -Mcray=pointer -tp p6 -pc 32 -Mnoframe -byteswapio -L/usr/local/mpich2/lib -lfmpich -lmpich
/usr/bin/ld: diffintp.o: No such file: No such file or directory
make[1]: [all] Error 2 (no tiene efecto)
/bin/mv mm5.mpp ../../Run/mm5.mpp


in my .bashrc have this:
Code:

ulimit -s unlimited
PATH=/usr/pgi/linux86/8.0/bin:$PATH
export PATH
MANPATH=$MANPATH:/usr/pgi/linux86/8.0/man
export MANPATH
LM_LICENSE_FILE=$LM_LICENSE_FILE:/usr/pgi/license.dat
export LM_LICENSE_FILE


i think that follow your advice or not?

what can i do whit this errors...

Regars: Josť Rosario
Back to top
View user's profile
mkcolg



Joined: 30 Jun 2004
Posts: 6218
Location: The Portland Group Inc.

PostPosted: Mon Mar 30, 2009 10:59 am    Post subject: Reply with quote

Hi Jose,

Try adding "CC=gcc -m32" or "CC=pgcc" to your configure.user and recompile from scratch. I think the issue here is that portions of the code are being compiled in 64-bits.

Also, you should consider removing the "-tp p6" flag. This tells the compiler to target a generic i386 system, which is good for portability, but poor for performance.

Hope this helps,
- Mat
Back to top
View user's profile
Display posts from previous:   
Post new topic   Reply to topic    PGI User Forum Forum Index -> Programming and Compiling All times are GMT - 7 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group