<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix"><br>
      Sorry, this mailing list is specifically intended to discuss
      issues with MPICH itself. For issues with its derivatives (such as
      Intel MPI), please seek assistance in their own forums, or
      alternatively, in general programming sites such as stackoverflow.com<br>
      <br>
      Best,<br>
        Antonio<br>
      <br>
      <br>
      On 06/02/2015 02:35 PM, koko jumbo wrote:<br>
    </div>
    <blockquote cite="mid:CA++vbAtfv5AU7C+drTgA8fEbcEd8Z5+BOophGRhUWcjFCmjqig@mail.gmail.com" type="cite">
      
      <div dir="ltr">
        <div>I am trying to build NAS benchmarks using Intel MPI and
          below is the makefile that I am using.</div>
        <div><br>
        </div>
        <div>      <b> #---------------------------------------------------------------------------</b></div>
        <div><b>    #</b></div>
        <div><b>    #                SITE- AND/OR PLATFORM-SPECIFIC
            DEFINITIONS. </b></div>
        <div><b>    #</b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    </b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    # Items in this file will need to be changed for
            each platform.</b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    </b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    # Parallel Fortran:</b></div>
        <div><b>    #</b></div>
        <div><b>    # For CG, EP, FT, MG, LU, SP and BT, which are in
            Fortran, the following must </b></div>
        <div><b>    # be defined:</b></div>
        <div><b>    #</b></div>
        <div><b>    # MPIF77     - Fortran compiler</b></div>
        <div><b>    # FFLAGS     - Fortran compilation arguments</b></div>
        <div><b>    # FMPI_INC   - any -I arguments required for
            compiling MPI/Fortran </b></div>
        <div><b>    # FLINK      - Fortran linker</b></div>
        <div><b>    # FLINKFLAGS - Fortran linker arguments</b></div>
        <div><b>    # FMPI_LIB   - any -L and -l arguments required for
            linking MPI/Fortran </b></div>
        <div><b>    # </b></div>
        <div><b>    # compilations are done with $(MPIF77) $(FMPI_INC)
            $(FFLAGS) or</b></div>
        <div><b>    #                            $(MPIF77) $(FFLAGS)</b></div>
        <div><b>    # linking is done with       $(FLINK) $(FMPI_LIB)
            $(FLINKFLAGS)</b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    </b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    # This is the fortran compiler used for MPI programs</b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    MPIF77 = gfortran</b></div>
        <div><b>    # This links MPI fortran programs; usually the same
            as ${MPIF77}</b></div>
        <div><b>    FLINK<span class="" style="white-space:pre"> </span>=
            $(MPIF77)</b></div>
        <div><b>    </b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    # These macros are passed to the linker to help link
            with MPI correctly</b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    FMPI_LIB  =  -L/share/apps/intel/impi/<a moz-do-not-send="true" href="http://5.0.2.044/intel64/lib">5.0.2.044/intel64/lib</a>
            -lmpi</b></div>
        <div><b>   </b></div>
        <div><b>    </b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    # These macros are passed to the compiler to help
            find 'mpif.h'</b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    FMPI_INC = -I/share/apps/intel/impi/<a moz-do-not-send="true" href="http://5.0.2.044/intel64/include">5.0.2.044/intel64/include</a></b></div>
        <div><b>    </b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    # Global *compile time* flags for Fortran programs</b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    FFLAGS<span class="" style="white-space:pre"> </span>=
            -O</b></div>
        <div><b>    </b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    # Global *link time* flags. Flags for increasing
            maximum executable </b></div>
        <div><b>    # size usually go here. </b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    FLINKFLAGS = -O</b></div>
        <div><b>    </b></div>
        <div><b>    </b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    # Parallel C:</b></div>
        <div><b>    #</b></div>
        <div><b>    # For IS, which is in C, the following must be
            defined:</b></div>
        <div><b>    #</b></div>
        <div><b>    # MPICC      - C compiler </b></div>
        <div><b>    # CFLAGS     - C compilation arguments</b></div>
        <div><b>    # CMPI_INC   - any -I arguments required for
            compiling MPI/C </b></div>
        <div><b>    # CLINK      - C linker</b></div>
        <div><b>    # CLINKFLAGS - C linker flags</b></div>
        <div><b>    # CMPI_LIB   - any -L and -l arguments required for
            linking MPI/C </b></div>
        <div><b>    #</b></div>
        <div><b>    # compilations are done with $(MPICC) $(CMPI_INC)
            $(CFLAGS) or</b></div>
        <div><b>    #                            $(MPICC) $(CFLAGS)</b></div>
        <div><b>    # linking is done with       $(CLINK) $(CMPI_LIB)
            $(CLINKFLAGS)</b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    </b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    # This is the C compiler used for MPI programs</b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    MPICC = cc</b></div>
        <div><b>    # This links MPI C programs; usually the same as
            ${MPICC}</b></div>
        <div><b>    CLINK<span class="" style="white-space:pre"> </span>=
            $(MPICC)</b></div>
        <div><b>    </b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    # These macros are passed to the linker to help link
            with MPI correctly</b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    CMPI_LIB  = -L/usr/local/lib -lmpi</b></div>
        <div><b>    </b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    # These macros are passed to the compiler to help
            find 'mpi.h'</b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    CMPI_INC = -I/usr/local/include</b></div>
        <div><b>    </b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    # Global *compile time* flags for C programs</b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    CFLAGS<span class="" style="white-space:pre"> </span>=
            -O</b></div>
        <div><b>    </b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    # Global *link time* flags. Flags for increasing
            maximum executable </b></div>
        <div><b>    # size usually go here. </b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    CLINKFLAGS = -O</b></div>
        <div><b>    </b></div>
        <div><b>    </b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    # MPI dummy library:</b></div>
        <div><b>    #</b></div>
        <div><b>    # Uncomment if you want to use the MPI dummy library
            supplied by NAS instead </b></div>
        <div><b>    # of the true message-passing library. The include
            file redefines several of</b></div>
        <div><b>    # the above macros. It also invokes make in
            subdirectory MPI_dummy. Make </b></div>
        <div><b>    # sure that no spaces or tabs precede include.</b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    # include ../config/make.dummy</b></div>
        <div><b>    </b></div>
        <div><b>    </b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    # Utilities C:</b></div>
        <div><b>    #</b></div>
        <div><b>    # This is the C compiler used to compile C
            utilities.  Flags required by </b></div>
        <div><b>    # this compiler go here also; typically there are
            few flags required; hence </b></div>
        <div><b>    # there are no separate macros provided for such
            flags.</b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    CC<span class="" style="white-space:pre"> </span>=
            cc -g</b></div>
        <div><b>    </b></div>
        <div><b>    </b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    # Destination of executables, relative to subdirs of
            the main directory. . </b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    BINDIR<span class="" style="white-space:pre"> </span>=
            ../bin</b></div>
        <div><b>    </b></div>
        <div><b>    </b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    # Some machines (e.g. Crays) have 128-bit DOUBLE
            PRECISION numbers, which</b></div>
        <div><b>    # is twice the precision required for the NPB suite.
            A compiler flag </b></div>
        <div><b>    # (e.g. -dp) can usually be used to change DOUBLE
            PRECISION variables to</b></div>
        <div><b>    # 64 bits, but the MPI library may continue to send
            128 bits. Short of</b></div>
        <div><b>    # recompiling MPI, the solution is to use MPI_REAL
            to send these 64-bit</b></div>
        <div><b>    # numbers, and MPI_COMPLEX to send their complex
            counterparts. Uncomment</b></div>
        <div><b>    # the following line to enable this substitution. </b></div>
        <div><b>    # </b></div>
        <div><b>    # NOTE: IF THE I/O BENCHMARK IS BEING BUILT, WE USE
            CONVERTFLAG TO</b></div>
        <div><b>    #       SPECIFIY THE FORTRAN RECORD LENGTH UNIT. IT
            IS A SYSTEM-SPECIFIC</b></div>
        <div><b>    #       VALUE (USUALLY 1 OR 4). UNCOMMENT THE SECOND
            LINE AND SUBSTITUTE</b></div>
        <div><b>    #       THE CORRECT VALUE FOR "length".</b></div>
        <div><b>    #       IF BOTH 128-BIT DOUBLE PRECISION NUMBERS AND
            I/O ARE TO BE ENABLED,</b></div>
        <div><b>    #       UNCOMMENT THE THIRD LINE AND SUBSTITUTE THE
            CORRECT VALUE FOR</b></div>
        <div><b>    #       "length"</b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    # CONVERTFLAG<span class="" style="white-space:pre">
            </span>= -DCONVERTDOUBLE</b></div>
        <div><b>    # CONVERTFLAG<span class="" style="white-space:pre">
            </span>= -DFORTRAN_REC_SIZE=length</b></div>
        <div><b>    # CONVERTFLAG<span class="" style="white-space:pre">
            </span>= -DCONVERTDOUBLE -DFORTRAN_REC_SIZE=length</b></div>
        <div><b>    </b></div>
        <div><b>    </b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    # The variable RAND controls which random number
            generator </b></div>
        <div><b>    # is used. It is described in detail in
            README.install. </b></div>
        <div><b>    # Use "randi8" unless there is a reason to use
            another one. </b></div>
        <div><b>    # Other allowed values are "randi8_safe", "randdp"
            and "randdpvec"</b></div>
        <div><b>   
#---------------------------------------------------------------------------</b></div>
        <div><b>    RAND   = randi8</b></div>
        <div><b>    # The following is highly reliable but may be slow:</b></div>
        <div><b>    # RAND   = randdp</b></div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div>When I try to build let's say EP benchmark   ***make
          NPROCS=8 EP CLASS=C***, I get an error like</div>
        <div><br>
        </div>
        <div>    <b> =========================================</b></div>
        <div><b>       =      NAS Parallel Benchmarks 3.3      =</b></div>
        <div><b>       =      MPI/F77/C                        =</b></div>
        <div><b>       =========================================</b></div>
        <div><b>    </b></div>
        <div><b>    cd EP; make NPROCS=8 CLASS=C</b></div>
        <div><b>    make[1]: Entering directory
            `/home/vaibhavs/NPB3.3/NPB3.3-MPI/EP'</b></div>
        <div><b>    make[2]: Entering directory
            `/home/vaibhavs/NPB3.3/NPB3.3-MPI/sys'</b></div>
        <div><b>    cc -g  -o setparams setparams.c</b></div>
        <div><b>    make[2]: Leaving directory
            `/home/vaibhavs/NPB3.3/NPB3.3-MPI/sys'</b></div>
        <div><b>    ../sys/setparams ep 8 C</b></div>
        <div><b>    make.def modified. Rebuilding npbparams.h just in
            case</b></div>
        <div><b>    rm -f npbparams.h</b></div>
        <div><b>    ../sys/setparams ep 8 C</b></div>
        <div><b>    gfortran -c -I/share/apps/intel/impi/<a moz-do-not-send="true" href="http://5.0.2.044/intel64/include">5.0.2.044/intel64/include</a>
            -O ep.f</b></div>
        <div><b>    gfortran -O -o ../bin/ep.C.8 ep.o
            ../common/print_results.o ../common/randi8.o
            ../common/timers.o -L/share/app                            
                                                             
            s/intel/impi/<a moz-do-not-send="true" href="http://5.0.2.044/intel64/lib">5.0.2.044/intel64/lib</a>
            -lmpi</b></div>
        <div><b>    ep.o: In function `MAIN__':</b></div>
        <div><b>    ep.f:(.text+0x31): undefined reference to
            `mpi_init_'</b></div>
        <div><b>    ep.f:(.text+0x4b): undefined reference to
            `mpi_comm_rank_'</b></div>
        <div><b>    ep.f:(.text+0x65): undefined reference to
            `mpi_comm_size_'</b></div>
        <div><b>    ep.f:(.text+0x347): undefined reference to
            `mpi_abort_'</b></div>
        <div><b>    ep.f:(.text+0x3df): undefined reference to
            `mpi_barrier_'</b></div>
        <div><b>    ep.f:(.text+0x803): undefined reference to
            `mpi_allreduce_'</b></div>
        <div><b>    ep.f:(.text+0x842): undefined reference to
            `mpi_allreduce_'</b></div>
        <div><b>    ep.f:(.text+0x879): undefined reference to
            `mpi_allreduce_'</b></div>
        <div><b>    ep.f:(.text+0x935): undefined reference to
            `mpi_allreduce_'</b></div>
        <div><b>    ep.f:(.text+0xc70): undefined reference to
            `mpi_finalize_'</b></div>
        <div><b>    ../common/timers.o: In function `timer_stop_':</b></div>
        <div><b>    timers.f:(.text+0x27): undefined reference to
            `mpi_wtime_'</b></div>
        <div><b>    ../common/timers.o: In function `timer_start_':</b></div>
        <div><b>    timers.f:(.text+0x57): undefined reference to
            `mpi_wtime_'</b></div>
        <div><b>    collect2: ld returned 1 exit status</b></div>
        <div><b>    make[1]: *** [../bin/ep.C.8] Error 1</b></div>
        <div><b>    make[1]: Leaving directory
            `/home/vaibhavs/NPB3.3/NPB3.3-MPI/EP'</b></div>
        <div><b>    make: *** [ep] Error 2</b></div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div>Can anybody please help me in resolving this issue?</div>
        <div><br>
        </div>
        <div>Thanks</div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
discuss mailing list     <a class="moz-txt-link-abbreviated" href="mailto:discuss@mpich.org">discuss@mpich.org</a>
To manage subscription options or unsubscribe:
<a class="moz-txt-link-freetext" href="https://lists.mpich.org/mailman/listinfo/discuss">https://lists.mpich.org/mailman/listinfo/discuss</a></pre>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Antonio J. Peña
Postdoctoral Appointee
Mathematics and Computer Science Division
Argonne National Laboratory
9700 South Cass Avenue, Bldg. 240, Of. 3148
Argonne, IL 60439-4847
<a class="moz-txt-link-abbreviated" href="mailto:apenya@mcs.anl.gov">apenya@mcs.anl.gov</a>
<a class="moz-txt-link-abbreviated" href="http://www.mcs.anl.gov/~apenya">www.mcs.anl.gov/~apenya</a></pre>
  </body>
</html>