This commit produces warnings in the output of oshmem_info:

    OSHMEM Fort shmem.fh: yes
**************************************************************************
*** DEVELOPER WARNING: A field in ompi_info output is too long and
*** will appear poorly in the prettyprint output.
***
***   Value:      "OSHMEM SGI/Quadrix compatibility mode"
***   Max length: 24
**************************************************************************
OSHMEM SGI/Quadrix compatibility mode: yes
**************************************************************************
*** DEVELOPER WARNING: A field in ompi_info output is too long and
*** will appear poorly in the prettyprint output.
***
***   Value:      "OSHMEM API functions parameter checking"
***   Max length: 24
**************************************************************************
OSHMEM API functions parameter checking: yes
OSHMEM profiling support: yes



On Nov 11, 2013, at 9:26 AM, svn-commit-mai...@open-mpi.org wrote:

> Author: miked (Mike Dubman)
> Date: 2013-11-11 09:26:25 EST (Mon, 11 Nov 2013)
> New Revision: 29651
> URL: https://svn.open-mpi.org/trac/ompi/changeset/29651
> 
> Log:
> Applying Jeff`s comments about proper SHMEM fortran organization of files.
> Refs: 3870
> 
> Added:
>   trunk/examples/hello_shmemfh.f90
>   trunk/examples/ring_shmemfh.f90
> Deleted:
>   trunk/examples/hello_shmemfh.f
>   trunk/examples/ring_shmem.f90
>   trunk/examples/ring_shmemfh.f
> Text files modified: 
>   trunk/config/oshmem_configure_options.m4   |     1                          
>                
>   trunk/examples/Makefile                    |    31 ++++++++++-------        
>                
>   trunk/examples/Makefile.include            |     5 +-                       
>                
>   trunk/examples/README                      |     5 +-                       
>                
>   /dev/null                                  |    19 ----------               
>                
>   trunk/examples/hello_shmemfh.f90           |    22 ++++++++++++             
>                
>   /dev/null                                  |    64 
> ------------------------------------    
>   /dev/null                                  |    71 
> ----------------------------------------
>   trunk/examples/ring_shmemfh.f90            |    62 
> ++++++++++++++++++++++++++++++++++      
>   trunk/oshmem/include/shmem.fh              |     2 +                        
>                
>   trunk/oshmem/tools/oshmem_info/Makefile.am |    11 ++++++                   
>                
>   trunk/oshmem/tools/oshmem_info/param.c     |    18 +++++++++-               
>                
>   12 files changed, 135 insertions(+), 176 deletions(-)
> 
> Modified: trunk/config/oshmem_configure_options.m4
> ==============================================================================
> --- trunk/config/oshmem_configure_options.m4  Sat Nov  9 23:12:14 2013        
> (r29650)
> +++ trunk/config/oshmem_configure_options.m4  2013-11-11 09:26:25 EST (Mon, 
> 11 Nov 2013)      (r29651)
> @@ -112,7 +112,6 @@
>     [AC_MSG_RESULT([no])])
> ])
> 
> -
> AC_DEFUN([OSHMEM_SETUP_CFLAGS],[
> 
> 
> 
> Modified: trunk/examples/Makefile
> ==============================================================================
> --- trunk/examples/Makefile   Sat Nov  9 23:12:14 2013        (r29650)
> +++ trunk/examples/Makefile   2013-11-11 09:26:25 EST (Mon, 11 Nov 2013)      
> (r29651)
> @@ -50,8 +50,8 @@
>        hello_mpifh \
>        hello_usempi \
>        hello_usempif08 \
> -     hello_shmem \
> -     hello_shmemfh \
> +      hello_shmem \
> +      hello_shmemfh \
>        Hello.class \
>          ring_c \
>        ring_cxx \
> @@ -60,14 +60,16 @@
>        ring_usempif08 \
>        ring_shmem \
>        ring_shmemfh \
> -      ring_shmemf90 \
>        Ring.class \
>        connectivity_c
> 
> -# Default target.  Always build the C example.  Only build the others
> -# if Open MPI was build with the relevant language bindings.
> -
> +# Default target. 
> all: hello_c ring_c connectivity_c
> +
> +# Always build the C example.  Only build the others
> +# if Open MPI was build with the relevant language bindings.
> +mpi:
> +     
>       @ if ompi_info --parsable | grep bindings:cxx:yes >/dev/null; then \
>           $(MAKE) hello_cxx ring_cxx; \
>       fi
> @@ -83,12 +85,17 @@
>       @ if ompi_info --parsable | grep bindings:java:yes >/dev/null; then \
>           $(MAKE) Hello.class Ring.class; \
>       fi
> -     @ if ompi_info --parsable | grep mca:shmem >/dev/null; then \
> +
> +# Only build if we built OSHMEM support.  
> +# Only build the Fortran examples if we have Fortran OSHMEM support.
> +shmem:
> +     @ if oshmem_info --parsable | grep oshmem:bindings:c >/dev/null; then \
>           $(MAKE) hello_shmem; \
> -         $(MAKE) hello_shmemfh; \
>           $(MAKE) ring_shmem; \
> +     fi
> +     @ if oshmem_info --parsable | grep oshmem:bindings:fort >/dev/null; 
> then \
> +         $(MAKE) hello_shmemfh; \
>           $(MAKE) ring_shmemfh; \
> -         $(MAKE) ring_shmemf90; \
>       fi
> 
> # The usual "clean" target
> @@ -120,13 +127,11 @@
> 
> hello_shmem: hello_shmem_c.c
>       $(SHMEMCC) $(CFLAGS) $^ -o $@
> -hello_shmemfh: hello_shmemfh.f
> +hello_shmemfh: hello_shmemfh.f90
>       $(SHMEMFC) $(FCFLAGS) $^ -o $@
> 
> ring_shmem: ring_shmem_c.c
>       $(SHMEMCC) $(CFLAGS) $^ -o $@
> -ring_shmemfh: ring_shmemfh.f
> -     $(SHMEMFC) $(FCFLAGS) $^ -o $@
> -ring_shmemf90: ring_shmem.f90
> +ring_shmemfh: ring_shmemfh.f90
>       $(SHMEMFC) $(FCFLAGS) $^ -o $@
> 
> 
> Modified: trunk/examples/Makefile.include
> ==============================================================================
> --- trunk/examples/Makefile.include   Sat Nov  9 23:12:14 2013        (r29650)
> +++ trunk/examples/Makefile.include   2013-11-11 09:26:25 EST (Mon, 11 Nov 
> 2013)      (r29651)
> @@ -39,15 +39,14 @@
>         examples/hello_usempi.f90 \
>         examples/hello_usempif08.f90 \
>         examples/hello_shmem_c.c \
> -        examples/hello_shmemfh.f \
> +        examples/hello_shmemfh.f90 \
>         examples/ring_c.c \
>         examples/ring_cxx.cc \
>         examples/ring_mpifh.f \
>         examples/ring_usempi.f90 \
>         examples/ring_usempif08.f90 \
>         examples/ring_shmem_c.c \
> -        examples/ring_shmemfh.f \
> -        examples/ring_shmem.f90 \
> +        examples/ring_shmemfh.f90 \
>         examples/connectivity_c.c \
>       examples/Hello.java \
>       examples/Ring.java
> 
> Modified: trunk/examples/README
> ==============================================================================
> --- trunk/examples/README     Sat Nov  9 23:12:14 2013        (r29650)
> +++ trunk/examples/README     2013-11-11 09:26:25 EST (Mon, 11 Nov 2013)      
> (r29651)
> @@ -31,7 +31,7 @@
>   Fortran use mpi_f08: hello_usempif08.f90
>   Java:                Hello.java
>   C shmem.h:           hello_shmem_c.c
> -  Fortran shmemfh.f:   hello_shmemfh.f
> +  Fortran shmem.fh:    hello_shmemfh.f90
> 
> - Send a trivial message around in a ring
>   C:                   ring_c.c
> @@ -41,8 +41,7 @@
>   Fortran use mpi_f08: ring_usempif08.f90
>   Java:                Ring.java
>   C shmem.h:           ring_shmem_c.c
> -  Fortran shmemfh.f:   ring_shmemfh.f
> -  F90 shmemfh.f:       ring_shmem.f90
> +  Fortran shmem.fh:    ring_shmemfh.f90
> 
> Additionally, there's one further example application, but this one
> only uses the MPI C bindings:
> 
> Deleted: trunk/examples/hello_shmemfh.f
> ==============================================================================
> --- trunk/examples/hello_shmemfh.f    2013-11-11 09:26:25 EST (Mon, 11 Nov 
> 2013)      (r29650)
> +++ /dev/null 00:00:00 1970   (deleted)
> @@ -1,19 +0,0 @@
> -C *
> -C * Copyright (c) 2013      Mellanox Technologies, Inc.
> -C *                         All rights reserved.
> -C * $COPYRIGHT$
> -C * 
> -C * Additional copyrights may follow
> -C * 
> -C * $HEADER$
> -C *
> -
> -        program main
> -        integer proc, nproc
> -        call START_PES(0)
> -        proc = MY_PE()
> -        nproc = NUM_PES()
> -        
> -        write(*, '("Hello, world, I am ", i2, " of ", i2)')
> -     &        proc, nproc
> -        end 
> 
> Added: trunk/examples/hello_shmemfh.f90
> ==============================================================================
> --- /dev/null 00:00:00 1970   (empty, because file is newly added)
> +++ trunk/examples/hello_shmemfh.f90  2013-11-11 09:26:25 EST (Mon, 11 Nov 
> 2013)      (r29651)
> @@ -0,0 +1,22 @@
> +!
> +! Copyright (c) 2013      Mellanox Technologies, Inc.
> +!                         All rights reserved.
> +! $COPYRIGHT$
> +!
> +! Additional copyrights may follow
> +!
> +! $HEADER$
> +!
> +program hello_shmem
> +    implicit none
> +    include 'shmem.fh'
> +
> +    integer proc, nproc
> +
> +    call START_PES(0)
> +    proc = MY_PE()
> +    nproc = NUM_PES()
> +
> +    write(*, '("Hello, world, I am ", i2, " of ", i2)') proc, nproc
> +end program hello_shmem
> +
> 
> Deleted: trunk/examples/ring_shmem.f90
> ==============================================================================
> --- trunk/examples/ring_shmem.f90     2013-11-11 09:26:25 EST (Mon, 11 Nov 
> 2013)      (r29650)
> +++ /dev/null 00:00:00 1970   (deleted)
> @@ -1,64 +0,0 @@
> -!
> -! Copyright (c) 2013      Mellanox Technologies, Inc.
> -!                         All rights reserved.
> -! $COPYRIGHT$
> -!
> -! Additional copyrights may follow
> -!
> -! $HEADER$
> -!
> -
> -program ring_shmem_f90
> -     implicit none
> -     include 'shmem.fh'
> -
> -     integer*8, save :: rbuf
> -     integer*8               :: message
> -     integer                 :: proc, nproc, next
> -!    func definitions
> -     integer                 :: my_pe, num_pes
> -
> -     rbuf = -1
> -     message = 10
> -
> -     call start_pes(0)
> -     proc = my_pe()
> -     nproc = num_pes()
> -
> -!   Calculate the PE number of the next process in the ring.  Use the
> -!   modulus operator so that the last process "wraps around" to PE 0.
> -
> -     next = mod((proc + 1), nproc)
> -
> -     if (proc == 0) then
> -         write(*, '("Process 0 sending ", i2, " to", i2, " (", i2, " 
> processes in ring)")') message, next, nproc
> -         call shmem_put8(rbuf, message, 1, next)
> -         write(*, '("Process 0 sent to ", i2)') next
> -     end if
> -
> -!   Pass the message around the ring.  The exit mechanism works as
> -!   follows: the message (a positive integer) is passed around the
> -!   ring.  Each time it passes PE 0, it is decremented.  When each
> -!   processes receives a message containing a 0 value, it passes the
> -!   message on to the next process and then quits.  By passing the 0
> -!   message first, every process gets the 0 message and can quit
> -!   normally.
> -
> -     do while(message > 0)
> -         call shmem_int8_wait_until(rbuf, SHMEM_CMP_EQ, message)
> -
> -         if (proc == 0) then
> -             message = message - 1
> -             write(*, '("Process 0 decremented value:", i2)') message
> -         else
> -             message = rbuf
> -         end if
> -
> -         call shmem_put8(rbuf, message, 1, next)
> -     end do
> -
> -!    All done
> -
> -     write(*, '("Process", i2," exiting.")') proc
> -
> -end program
> 
> Deleted: trunk/examples/ring_shmemfh.f
> ==============================================================================
> --- trunk/examples/ring_shmemfh.f     2013-11-11 09:26:25 EST (Mon, 11 Nov 
> 2013)      (r29650)
> +++ /dev/null 00:00:00 1970   (deleted)
> @@ -1,71 +0,0 @@
> -C
> -C Copyright (c) 2013      Mellanox Technologies, Inc.
> -C                         All rights reserved.
> -C $COPYRIGHT$
> -C
> -C Additional copyrights may follow
> -C
> -C $HEADER$
> -C
> -
> -      program ring_shmem_f77
> -      implicit none
> -      include 'shmem.fh'
> -
> -      integer*8 rbuf
> -      save rbuf
> -      integer*8 message
> -      integer proc, nproc, next
> -C       func definitions
> -      integer my_pe, num_pes
> -
> -      rbuf = -1
> -      message = 10
> -
> -      call start_pes(0)
> -      proc = my_pe()
> -      nproc = num_pes()
> -
> -C   Calculate the PE number of the next process in the ring.  Use the
> -C   modulus operator so that the last process "wraps around" to PE 0.
> -
> -      next = mod((proc + 1), nproc)
> -
> -      if (proc .eq. 0) then
> -          write(*, '("Process 0 sending ", i2, " to ", i2,
> -     &        " (", i2, " processes in ring)")')
> -     &        message, next, nproc
> -         call shmem_put8(rbuf, message, 1, next)
> -      write(*, '("Process 0 sent to ", i2)') next
> -      end if
> -
> -C   Pass the message around the ring.  The exit mechanism works as
> -C   follows: the message (a positive integer) is passed around the
> -C   ring.  Each time it passes PE 0, it is decremented.  When each
> -C   processes receives a message containing a 0 value, it passes the
> -C   message on to the next process and then quits.  By passing the 0
> -C   message first, every process gets the 0 message and can quit
> -C   normally.
> -
> - 10   call shmem_int8_wait_until(rbuf, SHMEM_CMP_EQ, message)
> -
> -      if (proc .eq. 0) then
> -         message = message - 1
> -             write(*, '("Process 0 decremented value:", i2)') message
> -      else
> -         message = rbuf
> -      end if
> -
> -      call shmem_put8(rbuf, message, 1, next)
> -
> -      if (message .gt. 0) then
> -         goto 10
> -      else
> -         goto 20
> -      end if
> -
> -C    All done
> -
> - 20   write(*, '("Process", i2," exiting.")') proc
> -
> -      end
> 
> Added: trunk/examples/ring_shmemfh.f90
> ==============================================================================
> --- /dev/null 00:00:00 1970   (empty, because file is newly added)
> +++ trunk/examples/ring_shmemfh.f90   2013-11-11 09:26:25 EST (Mon, 11 Nov 
> 2013)      (r29651)
> @@ -0,0 +1,62 @@
> +!
> +! Copyright (c) 2013      Mellanox Technologies, Inc.
> +!                         All rights reserved.
> +! $COPYRIGHT$
> +!
> +! Additional copyrights may follow
> +!
> +! $HEADER$
> +!
> +
> +program ring_shmem
> +    implicit none
> +    include 'shmem.fh'
> +
> +    integer*8, save   :: rbuf
> +    integer*8         :: message
> +    integer           :: proc, nproc, next
> +
> +    rbuf = -1
> +    message = 10
> +
> +    call start_pes(0)
> +    proc = my_pe()
> +    nproc = num_pes()
> +
> +!   Calculate the PE number of the next process in the ring.  Use the
> +!   modulus operator so that the last process "wraps around" to PE 0.
> +
> +    next = mod((proc + 1), nproc)
> +
> +    if (proc == 0) then
> +        write(*, '("Process 0 sending ", i2, " to", i2, " (", i2, " 
> processes in ring)")') message, next, nproc
> +        call shmem_put8(rbuf, message, 1, next)
> +        write(*, '("Process 0 sent to ", i2)') next
> +    end if
> +
> +!   Pass the message around the ring.  The exit mechanism works as
> +!   follows: the message (a positive integer) is passed around the
> +!   ring.  Each time it passes PE 0, it is decremented.  When each
> +!   processes receives a message containing a 0 value, it passes the
> +!   message on to the next process and then quits.  By passing the 0
> +!   message first, every process gets the 0 message and can quit
> +!   normally.
> +
> +    do while(message > 0)
> +        call shmem_int8_wait_until(rbuf, SHMEM_CMP_EQ, message)
> +
> +        if (proc == 0) then
> +            message = message - 1
> +            write(*, '("Process 0 decremented value:", i2)') message
> +        else
> +            message = rbuf
> +        end if
> +
> +        call shmem_put8(rbuf, message, 1, next)
> +    end do
> +
> +!     All done
> +
> +    write(*, '("Process", i2," exiting.")') proc
> +
> +end program
> 
> Modified: trunk/oshmem/include/shmem.fh
> ==============================================================================
> --- trunk/oshmem/include/shmem.fh     Sat Nov  9 23:12:14 2013        (r29650)
> +++ trunk/oshmem/include/shmem.fh     2013-11-11 09:26:25 EST (Mon, 11 Nov 
> 2013)      (r29651)
> @@ -48,6 +48,8 @@
>       integer SHMEM_CMP_GE
>       parameter ( SHMEM_CMP_GE = 5 )
> 
> +      integer my_pe
> +      integer num_pes
> 
>       logical shmem_pe_accessible
>       logical shmem_addr_accessible
> 
> Modified: trunk/oshmem/tools/oshmem_info/Makefile.am
> ==============================================================================
> --- trunk/oshmem/tools/oshmem_info/Makefile.am        Sat Nov  9 23:12:14 
> 2013        (r29650)
> +++ trunk/oshmem/tools/oshmem_info/Makefile.am        2013-11-11 09:26:25 EST 
> (Mon, 11 Nov 2013)      (r29651)
> @@ -25,6 +25,17 @@
>             -DOMPI_BUILD_LIBS="\"@LIBS@\"" \
>             -DOPAL_CC_ABSOLUTE="\"@OPAL_CC_ABSOLUTE@\"" \
>             -DOMPI_CXX_ABSOLUTE="\"@OMPI_CXX_ABSOLUTE@\""
> +if OSHMEM_PROFILING
> +    AM_CFLAGS += -DOSHMEM_PROFILING=1
> +else
> +    AM_CFLAGS += -DOSHMEM_PROFILING=0
> +endif
> +
> +if OSHMEM_WANT_FORTRAN_BINDINGS
> +    AM_CFLAGS += -DOSHMEM_WANT_FORTRAN_BINDINGS=1
> +else
> +    AM_CFLAGS += -DOSHMEM_WANT_FORTRAN_BINDINGS=0
> +endif
> 
> include $(top_srcdir)/Makefile.man-page-rules
> 
> 
> Modified: trunk/oshmem/tools/oshmem_info/param.c
> ==============================================================================
> --- trunk/oshmem/tools/oshmem_info/param.c    Sat Nov  9 23:12:14 2013        
> (r29650)
> +++ trunk/oshmem/tools/oshmem_info/param.c    2013-11-11 09:26:25 EST (Mon, 
> 11 Nov 2013)      (r29651)
> @@ -116,7 +116,7 @@
>     char *crdebug_support;
>     char *topology_support;
>     char *vt_support;
> -
> +    
>     /* Do a little preprocessor trickery here to figure opal_info_out the
>      * tri-state of MPI_PARAM_CHECK (which will be either 0, 1, or
>      * ompi_mpi_param_check).  The preprocessor will only allow
> @@ -602,5 +602,19 @@
>     opal_info_out("MPI_MAX_DATAREP_STRING", "options:mpi-max-datarep-string",
>                   "IO interface not provided");
> #endif
> -
> +    
> +    /* This block displays all the options with which the current
> +     * installation of oshmem was configured. */
> +    {
> +        char *oshmem_fortran = OSHMEM_WANT_FORTRAN_BINDINGS ? "yes" : "no";
> +        char *oshmem_compat = OSHMEM_SPEC_COMPAT ? "yes" : "no";
> +        char *oshmem_param_check = OSHMEM_PARAM_CHECK ? "yes" : "no";
> +        char *oshmem_profiling = OSHMEM_PROFILING ? "yes" : "no";
> +        
> +        opal_info_out("OSHMEM C bindings", "oshmem:bindings:c", "yes");
> +        opal_info_out("OSHMEM Fort shmem.fh", "oshmem:bindings:fort", 
> oshmem_fortran);
> +        opal_info_out("OSHMEM SGI/Quadrix compatibility mode", 
> "oshmem:options:spec_compat", oshmem_compat);
> +        opal_info_out("OSHMEM API functions parameter checking", 
> "oshmem:options:param_check", oshmem_param_check);
> +        opal_info_out("OSHMEM profiling support", 
> "oshmem:options:profiling", oshmem_profiling);
> +    }
> }
> _______________________________________________
> svn-full mailing list
> svn-f...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/svn-full


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/

Reply via email to