NPB MPI pathscale

12 views
Skip to first unread message

freshman

unread,
Oct 14, 2008, 7:53:41 AM10/14/08
to computer.paraopt.compiler
Recently, I compile the benchmark of NPB3.3-MPI, and my platform is
AMD opteron 2350 Quad cpu. When I install my mpich like belows:

1)export CC=pathcc
export FC=pathf90
export F90=pathf90
export RSHCOMMAND=ssh
2)
../mpich-1.2.7p1/configure --prefix=/home/lxj/mpich -c++=pathcc -opt=-
O3 --with-device=ch_p4 --enable-f90 --enable-f90modules --with-romio --
disable-weak-symbols
3) make
4) make install
At 4) there were errors as belows:
home/lxj/mpich/bin/mpicxx -o hello++ hello++.o
hello++.o(.text+0x10): In function `global destructors keyed to main':
: undefined reference to `std::ios_base::Init::~Init()'
hello++.o(.text+0x99): In function `main':
: undefined reference to `std::basic_ostream<char,
std::char_traits<char> >& std::operator<< <std::char_traits<char>
>(std::basic_ostream<char, std::char_traits<char> >&, char const*)'

Can you help me about the problem ? and when I compile BT of NPB-MPI,
there were errors too. Such as:

write (newfilenm, 996) filenm,node
^
pathf95-113 pathf90: ERROR SETUP_BTIO, File = epio.f, Line = 17,
Column = 34
IMPLICIT NONE is specified in the local scope, therefore an explicit
type must be specified for data object "FILENM".

write (newfilenm, 996) filenm,node
^
pathf95-113 pathf90: ERROR ACCUMULATE_NORMS, File = epio.f, Line =
138, Column = 34
IMPLICIT NONE is specified in the local scope, therefore an explicit
type must be specified for data object "FILENM".
I have been in trouble for days, wish you can help me.
Thank you.
Eric

freshman

unread,
Oct 14, 2008, 7:56:35 AM10/14/08
to computer.paraopt.compiler
appreiciate your advice

freshman

unread,
Oct 14, 2008, 9:06:40 PM10/14/08
to computer.paraopt.compiler
for the install error, I still don't know the exact causation, but
for the compile error I know now. When I make BT CLASS=S NOROCS=4 ,it
succeed. As I firstly compile the BT in a script program, and It
compile all the .f file under directory of BT, certainly it causes the
problem.

On Oct 14, 7:53 pm, freshman <eirc....@gmail.com> wrote:

freshman

unread,
Oct 15, 2008, 5:58:50 AM10/15/08
to computer.paraopt.compiler
Steve Correll post:
The first set of errors (the ones with "std::" in them) suggest that
the compiler or the object file hello++.o generated by it are failing
to link with C++ runtime libraries. Do you need to set a CXX
environment variable analogous to the CC, FC, and F90 variables? Did
you mean to specify "-c++=pathCC" (the Pathscale C++ compiler name
ends in uppercase "CC") rather than "-c++=pathcc" (the C compiler uses
lowercase "cc")?

The Pathscale compiler can generate object files to interoperate with
versions 3, 4.0, or 4.2 of the GNU compiler (those versions are
mutually incompatible, unfortunately.) Normally it defaults to the
installed version of GNU, though it also provides command line
switches -gnu3, -gnu40, and -gnu42 (this feature does require that the
corresponding versions of GNU header files and libraries are
installed, whereas Linux distributions usually provide only one
version.) If my suggestions in the previous paragraph aren't helpful,
there could be an installation problem with Pathscale or GNU, or the
object file hello++.o might be a leftover created by or for a no-
longer-installed version of GNU. If your support contract is in force,
the folks at supp...@pathscale.com would be happy to help: start by
sending them the output of the pathbug-helper program along with your
description of the symptoms.

The second set of errors suggests that the variable FILENM needs to be
declared inside procedures SETUP_BTIO and ACCUMULATE_NORMS using a
statement (such as INTEGER, REAL, or LOGICAL) that would give it an
explicit type. If the variable is already being declared in such a
statement, the problem is deeper, but again the folks at
supp...@pathscale.com can help.

Steve Correll (employed by, not officially speaking for, Pathscale--
and not a C++ expert)

freshman

unread,
Oct 15, 2008, 6:00:48 AM10/15/08
to computer.paraopt.compiler
To Steve Correll,
Thank you for your advice, that's is right.
The first problem can be canceld by change -c++=pathcc to -c+
+=pathCC. But there are another error now when compile simpl.o as
follows:

/home/lxj/mpich/bin/mpicc -o simpleio simpleio.o
/home/lxj/mpich/lib/libmpich.a(_close.o)(.text+0x1b): In function
`MPI_File_close':
: undefined reference to `MPIO_File_resolve'

/home/lxj/mpich/lib/libmpich.a(_close.o)(.text+0x65): In function
`MPI_File_close':
: undefined reference to `MPIO_Err_create_code'
.
.
.
/home/lxj/mpich/lib/libmpich.a(_write.o)(.text+0xa05): In function
`MPIOI_File_write':
: undefined reference to `ADIO_ImmediateOpen'
collect2: ld returned 1 exit status
make[2]: *** [simpleio] Error 1
make[1]: *** [all] Error 2
rm -f *.o *~ PI* cpi pi3 simpleio hello++ pi3f90 cpilog
rm -rf SunWS_cache ii_files pi3f90.f pi3p cpip *.ti *.ii
installed MPICH in /home/lxj/mpich

Wish you can help me about the problem. Thank you.

For the second problem I mentioned yesterday, it is cause by my
script. In my script it will compile all fortran files, but some
files whether to be compiled depends the option of SUBTYPE, so it
cause the problem. Thank you for your advice Steve Correl.

Eric.Lu

unread,
Oct 16, 2008, 2:14:16 AM10/16/08
to computer.paraopt.compiler


Steven Correll
View profile
More options Oct 16, 3:52 am
Newsgroups: comp.lang.fortran
From: Steven Correll <steven.corr...@gmail.com>
Date: Wed, 15 Oct 2008 12:52:32 -0700 (PDT)
Local: Thurs, Oct 16 2008 3:52 am
Subject: Re: a problem about NPB MPI benchmark , pathscale:pathf90
Reply | Reply to author | Forward | Print | Individual message | Show
original | Report this message | Find messages by this author
On Oct 15, 2:35 am, freshman <eirc....@gmail.com> wrote:

> On Oct 15, 2:09 am, Steven Correll <steven.corr...@gmail.com> wrote:

> > On Oct 14, 2:36 am, kinglu <xingjin...@gmail.com> wrote:

> But there are another error now when compile simpl.o as
> follows:

> /home/lxj/mpich/bin/mpicc -o simpleio simpleio.o
> /home/lxj/mpich/lib/libmpich.a(_close.o)(.text+0x1b): In function
> `MPI_File_close':
> : undefined reference to `MPIO_File_resolve'

I would guess that libmpich.a was not built correctly. The function
MPI_File_close in object file _close.o is calling function
MPIO_File_resolve, but evidently the latter is missing from the
library. I would expect it to be in an object file mpio_file.o in the
library. The Linux "ar" and "nm" utilities may be helpful in figuring
out whether the object file is missing from the library or the
function is missing from the object file.

Eric.Lu

unread,
Oct 16, 2008, 3:25:03 AM10/16/08
to computer.paraopt.compiler
The problem about undefined reference about MPI is resolved, I compile
like this:
pathf90 -O3 1.w2f.f -L/opt/mpich2/lib -I/opt/mpich2/include -lmpich -
lpthread .

but there is another problem shows to me as belows:
/tmp/cco.kT8Otj(.text+0xc59): In function `MAIN__':
: undefined reference to `print_results__'
collect2: ld returned 1 exit status

and there a lot of warnings like belows:
WARNING: OPR_LDID 437 [0x0x8a3ab48]has a non-ancestor node as
loop_stmt: 155
sanity check warning(compute_indexmap__): missing uses for def
(0x0x89e8810) of II <empty list>
sanity check warning(compute_indexmap__): missing uses for def
(0x0x89e8b88) of JJ <empty list>
sanity check warning(compute_indexmap__): missing uses for def
(0x0x89e9548) of II <empty list>
sanity check warning(compute_indexmap__): missing uses for def
(0x0x8a5d848) of II <empty list>


In the last, there is no exe file generated.

Eric.Lu

unread,
Oct 16, 2008, 6:02:10 AM10/16/08
to computer.paraopt.compiler
but there is another problem shows to me as belows:
/tmp/cco.kT8Otj(.text+0xc59): In function `MAIN__':
: undefined reference to `print_results__'
collect2: ld returned 1 exit status

for the problem above, use the command option: ../commom/*.o , the
problem is resovled
Reply all
Reply to author
Forward
0 new messages