Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
add more Fortran definitions
[simgrid.git] / include / smpi / mpif.h.in
index d795cca..6b2a701 100644 (file)
@@ -1,5 +1,5 @@
 ! -*- fortran -*-
-! Copyright (c) 2010-2019. The SimGrid Team.
+! Copyright (c) 2010-2021. The SimGrid Team.
 ! All rights reserved.
 
 ! This program is free software; you can redistribute it and/or modify it
@@ -39,6 +39,8 @@
       parameter(MPI_SUBVERSION=1)
       parameter(MPI_LOCK_EXCLUSIVE=1)
       parameter(MPI_LOCK_SHARED=2)
+
+
       integer MPI_MODE_NOSTORE, MPI_MODE_NOPUT, MPI_MODE_NOPRECEDE
       integer MPI_MODE_NOSUCCEED, MPI_MODE_NOCHECK
       parameter(MPI_MODE_NOSTORE=1)
 
       integer MPI_SUCCESS, MPI_ERR_COMM, MPI_ERR_ARG, MPI_ERR_TYPE
       integer MPI_ERR_REQUEST, MPI_ERR_INTERN, MPI_ERR_COUNT
-      integer MPI_ERR_RANK, MPI_ERR_OTHER, MPI_ERR_UNKNOWN
-      integer MPI_ERR_TAG, MPI_ERR_TRUNCATE, MPI_ERR_GROUP, MPI_ERR_OP
+      integer MPI_ERR_RANK, MPI_ERR_TAG, MPI_ERR_TRUNCATE
+      integer MPI_ERR_GROUP, MPI_ERR_OP, MPI_ERR_OTHER
+      integer MPI_ERR_IN_STATUS, MPI_ERR_PENDING, MPI_ERR_BUFFER
+      integer MPI_ERR_NAME, MPI_ERR_DIMS, MPI_ERR_TOPOLOGY
+      integer MPI_ERR_NO_MEM, MPI_ERR_WIN, MPI_ERR_INFO_VALUE
+      integer MPI_ERR_INFO_KEY, MPI_ERR_INFO_NOKEY, MPI_ERR_ROOT
+      integer MPI_ERR_KEYVAL, MPI_ERR_BASE, MPI_ERR_SPAWN
+      integer MPI_ERR_UNKNOWN
+
       integer MPI_ERR_LASTCODE
       integer MPI_IDENT, MPI_SIMILAR, MPI_UNEQUAL, MPI_CONGRUENT
       parameter(MPI_SUCCESS=0)
       parameter(MPI_ERR_GROUP=10)
       parameter(MPI_ERR_OP=11)
       parameter(MPI_ERR_OTHER=12)
-      parameter(MPI_ERR_UNKNOWN=13)
+      parameter(MPI_ERR_IN_STATUS=13)
+      parameter(MPI_ERR_PENDING=14)
+      parameter(MPI_ERR_BUFFER=15)
+      parameter(MPI_ERR_NAME=16)
+      parameter(MPI_ERR_DIMS=17)
+      parameter(MPI_ERR_TOPOLOGY=18)
+      parameter(MPI_ERR_NO_MEM=19)
+      parameter(MPI_ERR_WIN=20)
+      parameter(MPI_ERR_INFO_VALUE=21)
+      parameter(MPI_ERR_INFO_KEY=22)
+      parameter(MPI_ERR_INFO_NOKEY=23)
+      parameter(MPI_ERR_ROOT=24)
+      parameter(MPI_ERR_KEYVAL=25)
+      parameter(MPI_ERR_BASE=26)
+      parameter(MPI_ERR_SPAWN=27)
+      parameter(MPI_ERR_UNKNOWN=28)
       parameter(MPI_ERR_LASTCODE=74)
       parameter(MPI_IDENT=0)
       parameter(MPI_SIMILAR=1)
 
 ! Attribute keys
       integer MPI_IO, MPI_HOST, MPI_WTIME_IS_GLOBAL, MPI_APPNUM
-      integer MPI_TAG_UB, MPI_TAG_LB
+      integer MPI_TAG_UB, MPI_TAG_LB, MPI_BSEND_OVERHEAD
       integer MPI_UNIVERSE_SIZE, MPI_LASTUSEDCODE
       parameter(MPI_IO=-1)
       parameter(MPI_HOST=-2)
       parameter(MPI_UNIVERSE_SIZE=-7)
       parameter(MPI_LASTUSEDCODE=-8)
 
-      integer MPI_ERRORS_RETURN, MPI_ERRORS_ARE_FATAL
-      integer MPI_ERRHANDLER_NULL
-      parameter(MPI_ERRORS_RETURN=0)
-      parameter(MPI_ERRORS_ARE_FATAL=1)
-      parameter(MPI_ERRHANDLER_NULL=2)
-
+      parameter(MPI_BSEND_OVERHEAD=0)
 ! This should be equal to the number of int fields in MPI_Status
       integer MPI_STATUS_SIZE
       parameter(MPI_STATUS_SIZE=5)
       integer MPI_LOGICAL8, MPI_2REAL, MPI_2DOUBLE_PRECISION
       integer MPI_AINT, MPI_OFFSET, MPI_COUNT, MPI_REAL16
       integer MPI_PACKED, MPI_COMPLEX8, MPI_COMPLEX16, MPI_COMPLEX32
+      integer MPI_DOUBLE, MPI_INT, MPI_FLOAT
 
       integer MPI_MAX, MPI_MIN, MPI_MAXLOC, MPI_MINLOC
       integer MPI_SUM, MPI_PROD, MPI_LAND, MPI_LOR, MPI_LXOR, MPI_BAND
       integer MPI_REQUEST_NULL,MPI_DATATYPE_NULL,MPI_OP_NULL
       integer MPI_COMM_NULL, MPI_COMM_WORLD, MPI_COMM_SELF
       integer MPI_GROUP_NULL, MPI_GROUP_EMPTY, MPI_WIN_NULL
-      integer MPI_INFO_NULL
+      integer MPI_INFO_NULL, MPI_ERRHANDLER_NULL
 
       parameter(MPI_REQUEST_NULL=-1)
       parameter(MPI_DATATYPE_NULL=-1)
       parameter(MPI_GROUP_NULL=-1)
       parameter(MPI_GROUP_EMPTY=-2)
       parameter(MPI_WIN_NULL=-1)
+      parameter(MPI_ERRHANDLER_NULL=-1)
 
       integer MPI_WIN_BASE, MPI_WIN_SIZE, MPI_WIN_DISP_UNIT
 
       parameter(MPI_WIN_SIZE=-2)
       parameter(MPI_WIN_DISP_UNIT=-3)
 
+      integer MPI_GRAPH, MPI_CART
+      integer MPI_DIST_GRAPH, MPI_INVALID_TOPO
+      parameter(MPI_GRAPH=0)
+      parameter(MPI_CART=1)
+      parameter(MPI_DIST_GRAPH=2)
+      parameter(MPI_INVALID_TOPO=3)
+
 ! These IDs have to be unique, consecutive
 ! and ordered as in smpi_f77.cpp.
       parameter(MPI_COMM_WORLD=0)
       parameter(MPI_BYTE=1)
       parameter(MPI_CHARACTER=2)
       parameter(MPI_LOGICAL=3)
+      parameter(MPI_INT=4)
       parameter(MPI_INTEGER=4)
       parameter(MPI_INTEGER1=5)
       parameter(MPI_INTEGER2=6)
       parameter(MPI_INTEGER4=7)
       parameter(MPI_INTEGER8=8)
       parameter(MPI_REAL=9)
+      parameter(MPI_FLOAT=9)
       parameter(MPI_REAL4=10)
       parameter(MPI_REAL8=11)
       parameter(MPI_DOUBLE_PRECISION=12)
+      parameter(MPI_DOUBLE=12)
       parameter(MPI_COMPLEX=13)
       parameter(MPI_DOUBLE_COMPLEX=14)
       parameter(MPI_2INTEGER=15)
       parameter(MPI_BOR=40)
       parameter(MPI_BXOR=41)
 
+      integer MPI_ERRORS_RETURN, MPI_ERRORS_ARE_FATAL
+      parameter(MPI_ERRORS_RETURN=42)
+      parameter(MPI_ERRORS_ARE_FATAL=43)
+
+      integer MPI_LB, MPI_UB
+      parameter(MPI_LB=44)
+      parameter(MPI_UB=45)
+      
       INTEGER MPI_ADDRESS_KIND, MPI_OFFSET_KIND
       PARAMETER (MPI_ADDRESS_KIND=@CMAKE_SIZEOF_VOID_P@)
       PARAMETER (MPI_OFFSET_KIND=@CMAKE_SIZEOF_VOID_P@)
       integer MPI_MODE_RDONLY, MPI_MODE_RDWR, MPI_MODE_WRONLY
       integer MPI_MODE_CREATE, MPI_MODE_EXCL, MPI_MODE_DELETE_ON_CLOSE
       integer MPI_MODE_UNIQUE_OPEN, MPI_MODE_APPEND, MPI_MODE_SEQUENTIAL
+      integer MPI_FILE_NULL
+      integer MPI_DISPLACEMENT_CURRENT, MPI_SEEK_SET, MPI_SEEK_CUR
+      integer MPI_MAX_DATAREP_STRING
+      parameter(MPI_FILE_NULL=0)
+      parameter(MPI_DISPLACEMENT_CURRENT=-54278278)
+      parameter(MPI_SEEK_SET=600)
+      parameter(MPI_SEEK_CUR=602)
+      parameter(MPI_MAX_DATAREP_STRING=128)
 
       parameter( MPI_MODE_RDONLY=2)
       parameter( MPI_MODE_RDWR=8)
 
       double precision MPI_WTIME
       double precision MPI_WTICK
+
+      external smpi_execute_flops
+      external smpi_execute_flops_benched
+      external smpi_execute
+      external smpi_execute_benched
 @MODULE_MPIF_OUT@