From e17f86843b16f7f52d58a230e7c7713241115023 Mon Sep 17 00:00:00 2001 From: "John C. Linford" Date: Thu, 23 Feb 2017 08:31:57 -0800 Subject: [PATCH] Show shmem_info_get_version, shmem_info_get_name. --- rotput.f90 | 6 ++++++ shmem.f90 | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/rotput.f90 b/rotput.f90 index c743e81..bed7038 100644 --- a/rotput.f90 +++ b/rotput.f90 @@ -41,10 +41,16 @@ program rotput integer(C_INT) :: src type(C_PTR) :: cptr_dest integer(C_INT), pointer :: dest + character(C_CHAR), dimension(SHMEM_MAX_NAME_LEN) :: shmem_name + integer(C_INT), dimension(2) :: shmem_version call shmem_init() + call shmem_info_get_name(shmem_name) + write (*,*) shmem_name(1:maxloc(index(shmem_name, C_NULL_CHAR), 1)) + call shmem_info_get_version(shmem_version(1), shmem_version(2)) + write (*,"('Version ',I0,'.',I0)") shmem_version me = shmem_my_pe() npes = shmem_n_pes() diff --git a/shmem.f90 b/shmem.f90 index ce3983a..31cde49 100644 --- a/shmem.f90 +++ b/shmem.f90 @@ -40,6 +40,25 @@ module shmem implicit none + integer, parameter :: SHMEM_MAX_NAME_LEN = 1024 + + interface + subroutine shmem_info_get_name(name) & + bind(C,name="shmem_info_get_name") + use, intrinsic :: iso_c_binding + character(kind=C_CHAR), dimension(*) :: name + end subroutine shmem_info_get_name + end interface + + interface + subroutine shmem_info_get_version(major, minor) & + bind(C,name="shmem_info_get_version") + use, intrinsic :: iso_c_binding + integer(kind=C_INT) :: major + integer(kind=C_INT) :: minor + end subroutine shmem_info_get_version + end interface + interface subroutine start_pes(npes) & bind(C,name="start_pes")