[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