File indexing completed on 2023-05-28 05:10:53 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_BOOKKEEPING_SUPPORT_H_
0010 #define _AMPI_BOOKKEEPING_SUPPORT_H_
0011
0012 #include "ampi/userIF/request.h"
0013 #include "ampi/userIF/window.h"
0014
0015 /**
0016 * \file
0017 * methods needed for internal request bookkeeping
0018 */
0019
0020 /**
0021 * \param ampiRequest is added (by deep copy) to the internal bookkeeping using the already set valueu of member plainRequest as key
0022 */
0023 void BK_AMPI_put_AMPI_Request(struct AMPI_Request_S *ampiRequest);
0024
0025 /**
0026 * \param request is used as key to look up the associated AMPI_Request_S instance which then is deep copied
0027 * \param ampiRequest pointer to the structure into which the values are copied
0028 * \param traced if non-zero indicates one should match tracedReques instead of plainRequest
0029 * the information is removed from the internal bookkeeping data
0030 */
0031 void BK_AMPI_get_AMPI_Request(MPI_Request *request, struct AMPI_Request_S *ampiRequest, int traced);
0032
0033 /**
0034 * \param request is used as key to look up the associated AMPI_Request_S instance which then is deep copied
0035 * \param ampiRequest pointer to the structure into which the values are copied
0036 * \param traced if non-zero indicates one should match tracedReques instead of plainRequest
0037 * the information is retained in the internal bookkeeping data
0038 */
0039 void BK_AMPI_read_AMPI_Request(MPI_Request *request, struct AMPI_Request_S *ampiRequest, int traced);
0040
0041 /**
0042 * \file
0043 * methods needed for internal window bookkeeping
0044 */
0045
0046 /**
0047 * \param ampiWin is added (by deep copy) to the internal bookkeeping using the already set valueu of member plainRequest as key
0048 */
0049 void BK_AMPI_put_AMPI_Win(AMPI_Win *ampiWin);
0050
0051 /**
0052 * \param win is used as key to look up the associated AMPI_Win instance which then is deep copied
0053 * \param ampiWin pointer to the structure into which the values are copied
0054 * the information is removed from the internal bookkeeping data
0055 */
0056 void BK_AMPI_get_AMPI_Win(MPI_Win *win, AMPI_Win *ampiWin);
0057
0058 /**
0059 * \param win is used as key to look up the associated AMPI_Win instance which then is deep copied
0060 * \param ampiWin pointer to the structure into which the values are copied
0061 * the information is retained in the internal bookkeeping data
0062 */
0063 void BK_AMPI_read_AMPI_Win(MPI_Win *win, AMPI_Win *ampiWin);
0064
0065 #endif
0066