Skip to content

MPI_AINT_ADD and MPI_AINT_DIFF are missing in FORTRAN #3395

@AboorvaDevarajan

Description

@AboorvaDevarajan

Compilation fails for this fortran code.
It does MPI_AINT_ADD and MPI_AINT_DIFF address arithmetic operation,
https://www.open-mpi.org/doc/current/man3/MPI_Aint_diff.3.php

      PROGRAM aint_add_diff
      IMPLICIT NONE

      INCLUDE 'mpif.h'

      INTEGER dest, source, ierror, i, world_size, rank, mytype

      INTEGER array(100)      

      INTEGER(KIND=MPI_ADDRESS_KIND) address1
      INTEGER(KIND=MPI_ADDRESS_KIND) address2

      INTEGER(KIND=MPI_ADDRESS_KIND) addr_val(2)
      
      CALL MPI_INIT( ierror )
      
      CALL MPI_COMM_SIZE( MPI_COMM_WORLD, world_size, ierror )
      
      CALL MPI_COMM_RANK( MPI_COMM_WORLD, rank, ierror )
      
      DO i = 1, 100
         array(i) = i
      ENDDO
      
      CALL MPI_GET_ADDRESS( array(1), address1, ierror )
      
      CALL MPI_GET_ADDRESS( array(10), address2, ierror )
      
      addr_val(1) = MPI_AINT_ADD( address2, address1 )
      addr_val(2) = MPI_AINT_DIFF( address2, address1 )
      
      CALL MPI_FINALIZE( ierror )

      END PROGRAM aint_add_diff

Error:

aint_add.f:31.20:

addr_val(1) = MPI_AINT_ADD( address2, address1 )                  
            1
Error: Function 'mpi_aint_add' at (1) has no IMPLICIT type

aint_add.f:32.20:

addr_val(2) = MPI_AINT_DIFF( address2, address1 )                 
            1
Error: Function 'mpi_aint_diff' at (1) has no IMPLICIT type

These functions seems to be missing in fortran external bindings ompi/include/mpif-externals.h

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions