[MPICH2-dev] MPICH2 1.0.5-rc1 Intel 32-bit compilers
Larry Baker
baker at usgs.gov
Wed Nov 29 16:14:37 CST 2006
Bill,
I downloaded MPICH2 1.0.5 RC1 and compiled the library on our Pentium
4 32-bit cluster with the Intel IA-32 compilers. I'll also send you
my results for our Opteron 64-bit cluster with the PGI compilers.
Here's my results so far.
4-node Pentium 4 Cluster, Rocks 4.1 (based on CentOS 4.2, I think)
Linux-x86, Intel Linux 9.1.044 C/C++ and 9.1.039 Fortran compilers.
# source /opt/intel/cc/9.1.044/bin/iccvars.sh
# source /opt/intel/fc/9.1.039/bin/ifortvars.sh
# export CC=icc
# export CXX=icpc
# export FC=ifort
# export F77=ifort
# export F90=ifort
# export CFLAGS="-O -tpp7 -xW"
# export FFLAGS="-O -tpp7 -xW -w90 -w95"
# export F90FLAGS="-O -tpp7 -xW -w95"
# ./configure --with-device=ch3:sock --with-pm=mpd --enable-
g=dbg ‑‑enable-f77 --enable-f90 --enable-cxx --enable-
romio ‑‑with‑file‑system=ufs+nfs --enable-debuginfo --enable-
mpe ‑‑enable‑sharedlibs=gcc --prefix=/opt/mpich2/1.0.5-rc1/intel/
9.1.044 >configure.log 2>&1
make gave the following warnings (numbers are keyed to fixups below):
1. socki_util.i(684): warning #188: enumerated type mixed with
another type
1. socki_util.i(685): warning #188: enumerated type mixed with
another type
1. socki_util.i(805): warning #188: enumerated type mixed with
another type
1. socki_util.i(806): warning #188: enumerated type mixed with
another type
2. sock_init.i(67): warning #177: label "fn_exit" was declared but
never referenced
3. sock_set.i(246): warning #177: label "fn_exit" was declared but
never referenced
4. sock_misc.i(232): warning #177: label "fn_exit" was declared but
never referenced
1. socki_util.i(684): warning #188: enumerated type mixed with
another type
1. socki_util.i(685): warning #188: enumerated type mixed with
another type
1. socki_util.i(805): warning #188: enumerated type mixed with
another type
1. socki_util.i(806): warning #188: enumerated type mixed with
another type
2. sock_init.i(67): warning #177: label "fn_exit" was declared but
never referenced
3. sock_set.i(246): warning #177: label "fn_exit" was declared but
never referenced
4. sock_misc.i(232): warning #177: label "fn_exit" was declared but
never referenced
5. ch3u_handle_recv_req.c(46): warning #177: label "fn_fail" was
declared but never referenced
6. ch3u_handle_send_req.c(71): warning #177: label "fn_exit" was
declared but never referenced
7. ch3u_port.c(552): warning #266: function declared implicitly
8. ch3u_eager.c(36): warning #188: enumerated type mixed with
another type
8. ch3u_eager.c(123): warning #188: enumerated type mixed with
another type
8. ch3u_eager.c(186): warning #188: enumerated type mixed with
another type
8. ch3u_eager.c(257): warning #188: enumerated type mixed with
another type
9. mpidi_pg.c(84): warning #266: function declared implicitly
9. mpidi_pg.c(582): warning #266: function declared implicitly
5. ch3u_handle_recv_req.c(46): warning #177: label "fn_fail" was
declared but never referenced
6. ch3u_handle_send_req.c(71): warning #177: label "fn_exit" was
declared but never referenced
7. ch3u_port.c(552): warning #266: function declared implicitly
8. ch3u_eager.c(36): warning #188: enumerated type mixed with
another type
8. ch3u_eager.c(123): warning #188: enumerated type mixed with
another type
8. ch3u_eager.c(186): warning #188: enumerated type mixed with
another type
8. ch3u_eager.c(257): warning #188: enumerated type mixed with
another type
9. mpidi_pg.c(84): warning #266: function declared implicitly
9. mpidi_pg.c(582): warning #266: function declared implicitly
10. ad_testfs_done.c(47): warning #592: variable "myrank" is used
before its value is set
10. ad_testfs_done.c(47): warning #592: variable "nprocs" is used
before its value is set
10. ad_testfs_done.c(47): warning #592: variable "myrank" is used
before its value is set
10. ad_testfs_done.c(47): warning #592: variable "nprocs" is used
before its value is set
11. dbg_printf.c(95): warning #188: enumerated type mixed with
another type
11. dbg_printf.c(116): warning #188: enumerated type mixed with
another type
11. dbg_printf.c(120): warning #188: enumerated type mixed with
another type
11. dbg_printf.c(124): warning #188: enumerated type mixed with
another type
11. dbg_printf.c(144): warning #188: enumerated type mixed with
another type
11. dbg_printf.c(95): warning #188: enumerated type mixed with
another type
11. dbg_printf.c(116): warning #188: enumerated type mixed with
another type
11. dbg_printf.c(120): warning #188: enumerated type mixed with
another type
11. dbg_printf.c(124): warning #188: enumerated type mixed with
another type
11. dbg_printf.c(144): warning #188: enumerated type mixed with
another type
12. simple_pmiutil.c(125): warning #266: function declared implicitly
12. simple_pmiutil.c(125): warning #266: function declared implicitly
1. Warnings for src/mpid/common/sock/poll/socki_util.i:
socki_util.i(684): warning #188: enumerated type mixed with another type
pollinfos[elem].type = 0;
^
socki_util.i(685): warning #188: enumerated type mixed with another type
pollinfos[elem].state = 0;
^
socki_util.i(805): warning #188: enumerated type mixed with another type
pollinfo->type = 0;
^
socki_util.i(806): warning #188: enumerated type mixed with another type
pollinfo->state = 0;
^
Fixup: edit the line numbers shown below in src/mpid/common/sock/poll/
socki_util.i to use the names of enumeration constants instead of 0
when initializing pollinfo type and state fields:
684: pollinfos[elem].type = MPIDU_SOCKI_TYPE_FIRST;
685: pollinfos[elem].state = MPIDU_SOCKI_STATE_FIRST;
702: MPIU_Assert(sock_set->pollinfos[avail_elem].type ==
MPIDU_SOCKI_TYPE_FIRST);
703: MPIU_Assert(sock_set->pollinfos[avail_elem].state ==
MPIDU_SOCKI_STATE_FIRST);
805: pollinfo->type = MPIDU_SOCKI_TYPE_FIRST;
806: pollinfo->state = MPIDU_SOCKI_STATE_FIRST;
2. Warnings for src/mpid/common/sock/poll/sock_init.i:
sock_init.i(67): warning #177: label "fn_exit" was declared but never
referenced
fn_exit:
^
The label fn_exit: is referenced when #ifdef USE_SOCK_VERIFY; ignore
this warning.
3. Warnings for src/mpid/common/sock/poll/sock_set.i:
sock_set.i(246): warning #177: label "fn_exit" was declared but never
referenced
fn_exit:
^
The label fn_exit: is referenced when #ifdef USE_SOCK_VERIFY; ignore
this warning.
4. Warnings for src/mpid/common/sock/poll/sock_misc.i:
sock_misc.i(232): warning #177: label "fn_exit" was declared but
never referenced
fn_exit:
^
The label fn_exit: is referenced when #ifdef USE_SOCK_VERIFY; ignore
this warning.
5. Warnings for src/mpid/ch3/src/ch3u_handle_recv_req.c:
ch3u_handle_recv_req.c(46): warning #177: label "fn_fail" was
declared but never referenced
fn_fail:
^
Fixup: delete the line numbers below to remove the unnecessary code.
Change:
42: fn_exit:
43: in_routine = FALSE;
44: MPIDI_FUNC_EXIT(MPID_STATE_MPIDI_CH3U_HANDLE_RECV_REQ);
45: return mpi_errno;
46: fn_fail:
47: goto fn_exit;
to:
42: in_routine = FALSE;
43: MPIDI_FUNC_EXIT(MPID_STATE_MPIDI_CH3U_HANDLE_RECV_REQ);
44: return mpi_errno;
6. Warnings for src/mpid/ch3/src/ch3u_handle_send_req.c:
ch3u_handle_send_req.c(71): warning #177: label "fn_exit" was
declared but never referenced
fn_exit:
^
Fixup: delete the line numbers below to remove the unnecessary code:
71: fn_exit:
7. Warnings for src/mpid/ch3/src/ch3u_port.c:
ch3u_port.c(552): warning #266: function declared implicitly
MPIDI_PG_CheckForSingleton();
^
MPIDI_PG_CheckForSingleton() is implemented in src/mpid/ch3/src/
mpidi_pg.c, but there is no function prototype declaration for it in
any header files.
Fixup: add a function prototype declaration for
MPIDI_PG_CheckForSingleton() to src/mpid/ch3/include/mpidimpl.h (see
fixup 9).
8. Warnings for src/mpid/ch3/src/ch3u_eager.c:
ch3u_eager.c(36): warning #188: enumerated type mixed with another type
MPIDI_Pkt_init(eager_pkt, reqtype);
^
ch3u_eager.c(123): warning #188: enumerated type mixed with another type
MPIDI_Pkt_init(eager_pkt, reqtype);
^
ch3u_eager.c(186): warning #188: enumerated type mixed with another type
MPIDI_Pkt_init(eagershort_pkt, reqtype);
^
ch3u_eager.c(257): warning #188: enumerated type mixed with another type
MPIDI_Pkt_init(eager_pkt, reqtype);
^
reqtype is passed as an int, but is assigned to the enumeration type
MPIDI_CH3_Pkt_type_t type field in the struct type MPIDI_CH3_Pkt_send_t.
Fixup: change the declaration of int reqtype to MPIDI_CH3_Pkt_type_t
reqtype for the strongest type checking by the compiler, or coerce
int reqtype to an MPIDI_CH3_Pkt_type_t using a cast in the call to
MPIDI_Pkt_init(). I chose the former. Edit the line numbers below
to change the second argument in the function header declarations in
src/mpid/ch3/src/ch3u_eager.c:
20:int MPIDI_CH3_EagerNoncontigSend( MPID_Request **sreq_p,
21: MPIDI_CH3_Pkt_type_t reqtype,
111:int MPIDI_CH3_EagerContigSend( MPID_Request **sreq_p,
112: MPIDI_CH3_Pkt_type_t reqtype,
173:int MPIDI_CH3_EagerContigShortSend( MPID_Request **sreq_p,
174: MPIDI_CH3_Pkt_type_t reqtype,
239:int MPIDI_CH3_EagerContigIsend( MPID_Request **sreq_p,
240: MPIDI_CH3_Pkt_type_t reqtype,
Edit the line numbers below to change the second argument in the
function prototype declarations in src/mpid/ch3/include/mpidimpl.h:
1429:int MPIDI_CH3_EagerNoncontigSend( MPID_Request **,
MPIDI_CH3_Pkt_type_t, const void *, int,
1430: MPI_Datatype, int, int, int,
MPID_Comm *,
1431: int );
1432:int MPIDI_CH3_EagerContigSend( MPID_Request **,
MPIDI_CH3_Pkt_type_t, const void *, int, int,
1433: int, MPID_Comm *, int );
1434:int MPIDI_CH3_EagerContigShortSend( MPID_Request **,
MPIDI_CH3_Pkt_type_t, const void *, int,
1435: int, int, MPID_Comm *, int );
1436:int MPIDI_CH3_EagerContigIsend( MPID_Request **,
MPIDI_CH3_Pkt_type_t, const void *, int, int,
1437: int, MPID_Comm *, int );
9. Warnings for src/mpid/ch3/src/mpidi_pg.c:
mpidi_pg.c(84): warning #266: function declared implicitly
MPIU_PG_Printall( stdout );
^
mpidi_pg.c(582): warning #266: function declared implicitly
MPIDI_PG_CheckForSingleton();
^
MPIU_PG_Printall() and MPIDI_PG_CheckForSingleton() are implemented
in src/mpid/ch3/src/mpidi_pg.c, but there are no function prototype
declarations for them in any header files.
Fixup: insert the line numbers below to add function prototype
declarations for MPIU_PG_Printall() and MPIDI_PG_CheckForSingleton()
to src/mpid/ch3/include/mpidimpl.h:
420:
421:int MPIU_PG_Printall( FILE * );
422:int MPIDI_PG_CheckForSingleton( void );
10. Warnings for src/mpi/romio/adio/ad_testfs/ad_testfs_done.c:
ad_testfs_done.c(47): warning #592: variable "myrank" is used before
its value is set
myrank, nprocs);
^
ad_testfs_done.c(47): warning #592: variable "nprocs" is used before
its value is set
myrank, nprocs);
^
Fixup: edit the line numbers below in src/mpi/romio/adio/ad_testfs/
ad_testfs_done.c to declare the myrank and nprocs variables with
initializers:
14: int myrank = 0, nprocs = 0;
41: int myrank = 0, nprocs = 0;
11. Warnings for src/util/dbg/dbg_printf.c:
dbg_printf.c(95): warning #188: enumerated type mixed with another type
MPIUI_dbg_state = 0;
^
dbg_printf.c(116): warning #188: enumerated type mixed with another type
MPIUI_dbg_state |= MPIU_DBG_STATE_STDOUT;
^
dbg_printf.c(120): warning #188: enumerated type mixed with another type
MPIUI_dbg_state |= MPIU_DBG_STATE_MEMLOG;
^
dbg_printf.c(124): warning #188: enumerated type mixed with another type
MPIUI_dbg_state |= MPIU_DBG_STATE_FILE;
^
dbg_printf.c(144): warning #188: enumerated type mixed with another type
MPIUI_dbg_state &= ~MPIU_DBG_STATE_MEMLOG;
^
Fixup: edit dbg_init() in src/util/dbg/dbg_printf.c to use the name
of the enumeration constant in place of 0 when initializing the
MPIUI_dbg_state variable, and to (MPIU_dbg_state_t) cast the int
results from the |= and &= operations. Change the code at the line
numbers below from:
95: MPIUI_dbg_state = 0;
116: MPIUI_dbg_state |= MPIU_DBG_STATE_STDOUT;
120: MPIUI_dbg_state |= MPIU_DBG_STATE_MEMLOG;
124: MPIUI_dbg_state |= MPIU_DBG_STATE_FILE;
144: MPIUI_dbg_state &= ~MPIU_DBG_STATE_MEMLOG;
to:
95: MPIUI_dbg_state = MPIU_DBG_STATE_NONE;
116: MPIUI_dbg_state =
117: (MPIU_dbg_state_t) ( MPIUI_dbg_state |
MPIU_DBG_STATE_STDOUT );
121: MPIUI_dbg_state =
122: (MPIU_dbg_state_t) ( MPIUI_dbg_state |
MPIU_DBG_STATE_MEMLOG );
126: MPIUI_dbg_state =
127: (MPIU_dbg_state_t) ( MPIUI_dbg_state |
MPIU_DBG_STATE_FILE );
147: MPIUI_dbg_state =
148: (MPIU_dbg_state_t) ( MPIUI_dbg_state &
~MPIU_DBG_STATE_MEMLOG );
12. Warnings for src/pmi/simple/simple_pmiutil.c:
simple_pmiutil.c(125): warning #266: function declared implicitly
MPIU_Internal_error_printf( "Panic - buffer inconsistent\n" );
^
MPIU_Internal_error_printf() is declared in src/include/mpibase.h,
which is #include'd by src/include/mpiimpl.h.
Fixup: add #include "mpiimpl.h" (preferred?) or #include "mpibase.h"
to src/pmi/simple/simple_pmiutil.c. I chose the former. Insert the
line number below to #include "mpiimpl.h" to src/pmi/simple/
simple_pmiutil.c:
10:
11:#include "mpiimpl.h"
The only warnings that remain are nos. 2, 3, and 4, which can be
ignored:
[root at thera mpich2-1.0.5-rc1]# grep warn make.log
2. sock_init.i(67): warning #177: label "fn_exit" was declared but
never referenced
3. sock_set.i(246): warning #177: label "fn_exit" was declared but
never referenced
4. sock_misc.i(232): warning #177: label "fn_exit" was declared but
never referenced
2. sock_init.i(67): warning #177: label "fn_exit" was declared but
never referenced
3. sock_set.i(246): warning #177: label "fn_exit" was declared but
never referenced
4. sock_misc.i(232): warning #177: label "fn_exit" was declared but
never referenced
The make install log file looked fine.
I'll run the installation tests after I do the Opteron 64-bit install
with PGI compilers.
Larry Baker
US Geological Survey
650-329-5608
baker at usgs.gov
More information about the mpich2-dev
mailing list