! -*- fortran -*-
-! Copyright (c) 2010, 2012-2013. The SimGrid Team.
+! Copyright (c) 2010, 2012-2014. The SimGrid Team.
! All rights reserved.
! This program is free software; you can redistribute it and/or modify it
integer MPI_MAX_DATAREP_STRIN, MPI_MAX_INFO_KEY
integer MPI_MAX_INFO_VAL, MPI_MAX_OBJECT_NAME, MPI_MAX_PORT_NAME
integer MPI_ANY_SOURCE, MPI_PROC_NULL, MPI_ANY_TAG, MPI_UNDEFINED
- integer MPI_IN_PLACE, MPI_BOTTOM, MPI_TAG_UB, MPI_TAG_LB
integer MPI_SOURCE, MPI_TAG, MPI_ERROR
integer MPI_VERSION, MPI_SUBVERSION
+ integer MPI_LOCK_EXCLUSIVE, MPI_LOCK_SHARED
parameter(MPI_MAX_PROCESSOR_NAME=100)
parameter(MPI_MAX_ERROR_STRING=100)
parameter(MPI_MAX_DATAREP_STRIN =100)
parameter(MPI_PROC_NULL=-666)
parameter(MPI_ANY_TAG=-444)
parameter(MPI_UNDEFINED=-333)
- parameter(MPI_IN_PLACE=-222)
- parameter(MPI_BOTTOM=-111)
parameter(MPI_SOURCE=1)
parameter(MPI_TAG=2)
parameter(MPI_ERROR=3)
- parameter(MPI_TAG_UB=0)
- parameter(MPI_TAG_LB=0)
parameter(MPI_VERSION=1)
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)
+ parameter(MPI_MODE_NOPUT=2)
+ parameter(MPI_MODE_NOPRECEDE=4)
+ parameter(MPI_MODE_NOSUCCEED=8)
+ parameter(MPI_MODE_NOCHECK=16)
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_LASTUSEDCODE, MPI_ERR_LASTCODE
+ integer MPI_ERR_LASTCODE
integer MPI_IDENT, MPI_SIMILAR, MPI_UNEQUAL, MPI_CONGRUENT
- integer MPI_WTIME_IS_GLOBAL
parameter(MPI_SUCCESS=0)
parameter(MPI_ERR_COMM=1)
parameter(MPI_ERR_ARG=2)
parameter(MPI_ERR_OP=11)
parameter(MPI_ERR_OTHER=12)
parameter(MPI_ERR_UNKNOWN=13)
- parameter(MPI_LASTUSEDCODE=0)
- parameter(MPI_ERR_LASTCODE=0)
+ parameter(MPI_ERR_LASTCODE=74)
parameter(MPI_IDENT=0)
parameter(MPI_SIMILAR=1)
parameter(MPI_UNEQUAL=2)
parameter(MPI_CONGRUENT=3)
- parameter(MPI_WTIME_IS_GLOBAL=1)
integer MPI_NULL_COPY_FN, MPI_NULL_DELETE_FN
parameter(MPI_NULL_COPY_FN =0)
integer MPI_COMM_NULL_DUP_FN, MPI_COMM_DUP_FN
parameter(MPI_COMM_NULL_DUP_FN =0)
parameter(MPI_COMM_DUP_FN =0)
- integer MPI_APPNUM, MPI_HOST, MPI_IO
- parameter(MPI_APPNUM=0)
- parameter(MPI_HOST=0)
- parameter(MPI_IO=0)
+
integer MPI_ROOT, MPI_INFO_NULL,MPI_COMM_TYPE_SHARED
parameter(MPI_ROOT=0)
- parameter(MPI_INFO_NULL=-1)
+ parameter(MPI_INFO_NULL=0)
parameter(MPI_COMM_TYPE_SHARED=1)
+! Attribute keys
+ integer MPI_IO, MPI_HOST, MPI_WTIME_IS_GLOBAL, MPI_APPNUM
+ integer MPI_TAG_UB, MPI_TAG_LB
+ integer MPI_UNIVERSE_SIZE, MPI_LASTUSEDCODE
+ parameter(MPI_IO=-1)
+ parameter(MPI_HOST=-2)
+ parameter(MPI_WTIME_IS_GLOBAL=-3)
+ parameter(MPI_APPNUM=-4)
+ parameter(MPI_TAG_UB=-5)
+ parameter(MPI_TAG_LB=-6)
+ parameter(MPI_UNIVERSE_SIZE=-7)
+ parameter(MPI_LASTUSEDCODE=-8)
+
! These should be ordered as in smpi_f77.c
integer MPI_COMM_NULL, MPI_COMM_WORLD, MPI_COMM_SELF
- integer MPI_UNIVERSE_SIZE
parameter(MPI_COMM_NULL=-1)
parameter(MPI_COMM_SELF=-2)
parameter(MPI_COMM_WORLD=0)
- parameter(MPI_UNIVERSE_SIZE=0)
-
integer MPI_GROUP_NULL, MPI_GROUP_EMPTY
parameter(MPI_GROUP_NULL=-1)
parameter(MPI_GROUP_EMPTY=-2)
+ integer MPI_WIN_NULL
+ parameter(MPI_WIN_NULL=-1)
+
integer MPI_ERRORS_RETURN, MPI_ERRORS_ARE_FATAL
integer MPI_ERRHANDLER_NULL
parameter(MPI_ERRORS_RETURN=0)
parameter(MPI_ERRHANDLER_NULL=2)
! This should be equal to the number of int fields in MPI_Status
- integer MPI_STATUS_SIZE, MPI_STATUSES_IGNORE
+ integer MPI_STATUS_SIZE
parameter(MPI_STATUS_SIZE=4)
- parameter(MPI_STATUSES_IGNORE=-1)
- integer MPI_STATUS_IGNORE
- parameter(MPI_STATUS_IGNORE=-1)
+! These should be ordered as in smpi_f77.c
+ integer MPI_IN_PLACE, MPI_BOTTOM
+ integer MPI_STATUS_IGNORE, MPI_STATUSES_IGNORE
+ common /smpi/ MPI_IN_PLACE, MPI_BOTTOM
+ common /smpi/ MPI_STATUS_IGNORE, MPI_STATUSES_IGNORE
integer MPI_REQUEST_NULL
parameter(MPI_REQUEST_NULL=-1)
integer MPI_INTEGER_KIND
parameter(MPI_INTEGER_KIND=4)
-! These should be ordered as in smpi_f77.c
integer MPI_DATATYPE_NULL, MPI_BYTE, MPI_CHARACTER, MPI_LOGICAL
integer MPI_INTEGER, MPI_INTEGER1, MPI_INTEGER2, MPI_INTEGER4
integer MPI_INTEGER8, MPI_REAL, MPI_REAL4, MPI_REAL8
integer MPI_LOGICAL8, MPI_2REAL, MPI_2DOUBLE_PRECISION
integer MPI_AINT, MPI_OFFSET, MPI_COUNT
integer MPI_REAL16, MPI_COMPLEX8,MPI_COMPLEX16,MPI_COMPLEX32
+ integer MPI_PACKED
parameter(MPI_DATATYPE_NULL=-1)
parameter(MPI_BYTE=0)
parameter(MPI_CHARACTER=1)
parameter(MPI_COMPLEX8=24)
parameter(MPI_COMPLEX16=25)
parameter(MPI_COMPLEX32=26)
-
-
+ parameter(MPI_PACKED=27)
! These should be ordered as in smpi_f77.c
integer MPI_OP_NULL,MPI_MAX, MPI_MIN, MPI_MAXLOC, MPI_MINLOC
parameter(MPI_BAND=9)
parameter(MPI_BOR=10)
parameter(MPI_BXOR=11)
-
+
INTEGER MPI_ADDRESS_KIND, MPI_OFFSET_KIND
- PARAMETER (MPI_ADDRESS_KIND=@MPI_ADDRESS_SIZE@)
- PARAMETER (MPI_OFFSET_KIND=@MPI_ADDRESS_SIZE@)
-
- INTEGER MPI_MODE_NOPRECEDE
- PARAMETER (MPI_MODE_NOPRECEDE=8192)
+ PARAMETER (MPI_ADDRESS_KIND=@CMAKE_SIZEOF_VOID_P@)
+ PARAMETER (MPI_OFFSET_KIND=@CMAKE_SIZEOF_VOID_P@)
integer MPI_COMBINER_NAMED, MPI_COMBINER_DUP
integer MPI_COMBINER_CONTIGUOUS, MPI_COMBINER_VECTOR
parameter(MPI_ORDER_FORTRAN=0)
external MPI_INIT, MPI_FINALIZE, MPI_ABORT
- external MPI_COMM_RANK, MPI_COMM_SIZE, MPI_COMM_DUP, MPI_COMM_SPLIT
- external MPI_SEND_INIT, MPI_ISEND, MPI_SEND
+ external MPI_COMM_RANK, MPI_COMM_SIZE, MPI_COMM_DUP
+ external MPI_SEND_INIT, MPI_ISEND, MPI_SEND, MPI_COMM_SPLIT
external MPI_RECV_INIT, MPI_IRECV, MPI_RECV
external MPI_START, MPI_STARTALL
external MPI_WAIT, MPI_WAITANY, MPI_WAITALL
double precision MPI_WTIME
double precision MPI_WTICK
+
+ external smpi_execute_flops
+ external smpi_execute
+ external smpi_get_host_power_peak_at
+ external smpi_get_host_current_power_peak
+ external smpi_get_host_nb_pstates
+ external smpi_set_host_pstate
+ external smpi_get_host_consumed_energy
+
+ double precision smpi_get_host_power_peak_at
+ double precision smpi_get_host_current_power_peak
+ integer smpi_get_host_nb_pstates
+ double precision smpi_get_host_consumed_energy