Back to home page

MITgcm

 
 

    


File indexing completed on 2023-05-28 05:10:54 UTC

view on githubraw file Latest commit b4daa243 on 2023-05-28 03:53:22 UTC
b4daa24319 Shre*0001 /*
                0002 ##########################################################
                0003 # This file is part of the AdjoinableMPI library         #
                0004 # released under the MIT License.                        #
                0005 # The full COPYRIGHT notice can be found in the top      #
                0006 # level directory of the AdjoinableMPI distribution.     #
                0007 ########################################################## 
                0008 */
                0009 #ifndef _AMPI_PAIREDWITH_H_
                0010 #define _AMPI_PAIREDWITH_H_
                0011 
                0012 /**
                0013  * \file 
                0014  * \ingroup UserInterfaceHeaders
                0015  * enumeration to distinguish between active and passive variants of MPI_Datatype parameters passed to AMPI routines 
                0016  */ 
                0017 
                0018 #include "ampi/userIF/libConfig.h"
                0019 
                0020 /** \ingroup UserInterfaceDeclarations
                0021  * @{
                0022  */
                0023 /**
                0024  * the enumeration for communication pairings as explained in \ref pairings
                0025  */
                0026 enum AMPI_PairedWith_E { 
                0027   AMPI_TO_RECV,
                0028   AMPI_FROM_SEND,
                0029   AMPI_TO_IRECV_WAIT,
                0030   AMPI_TO_IRECV_WAITALL,
                0031   AMPI_FROM_ISEND_WAIT,
                0032   AMPI_FROM_ISEND_WAITALL,
                0033   AMPI_FROM_BSEND,
                0034   AMPI_FROM_RSEND,
                0035 };
                0036 
                0037 #ifdef AMPI_FORTRANCOMPATIBLE
                0038 typedef int AMPI_PairedWith;
                0039 #else 
                0040 typedef enum AMPI_PairedWith_E AMPI_PairedWith;
                0041 #endif 
                0042 
                0043 /**
                0044  * the enumeration for call codes as explained in \ref pairings
                0045  */
                0046 enum AMPI_CallCode_E { 
                0047   AMPI_RECV,
                0048   AMPI_SEND,
                0049   AMPI_IRECV_WAIT,
                0050   AMPI_IRECV_WAITALL,
                0051   AMPI_ISEND_WAIT,
                0052   AMPI_ISEND_WAITALL,
                0053   AMPI_BSEND,
                0054   AMPI_RSEND,
                0055   AMPI_ISEND,
                0056   AMPI_IRECV,
                0057   AMPI_WAIT,
                0058   AMPI_GATHER,
                0059   AMPI_SCATTER,
                0060   AMPI_ALLGATHER,
                0061   AMPI_GATHERV,
                0062   AMPI_SCATTERV, 
                0063   AMPI_ALLGATHERV,
                0064   AMPI_BCAST,
                0065   AMPI_REDUCE,
                0066   AMPI_ALLREDUCE,
                0067   AMPI_BARRIER,
                0068   AMPI_GET,
                0069   AMPI_PUT,
                0070   AMPI_WIN_CREATE,
                0071   AMPI_WIN_FENCE,
                0072   AMPI_WIN_FREE
                0073 };
                0074 
                0075 #ifdef AMPI_FORTRANCOMPATIBLE
                0076 typedef int AMPI_CallCode;
                0077 #else 
                0078 typedef enum AMPI_CallCode_E AMPI_CallCode;
                0079 #endif 
                0080 /** @} */
                0081 
                0082 #endif