00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #include "conv-config.h"
00038
00039 #ifndef __PERSISTENT_H__
00040 #define __PERSISTENT_H__
00041
00042 #ifdef __cplusplus
00043 extern "C" {
00044 #endif
00045
00046 typedef void * PersistentHandle;
00047
00048 #if CMK_PERSISTENT_COMM
00049
00050 typedef struct {
00051 int pe;
00052 int maxBytes;
00053 void **bufPtr;
00054 PersistentHandle myHand;
00055 } PersistentReq;
00056
00057 void CmiPersistentInit(void);
00058
00059 PersistentHandle CmiCreatePersistent(int destPE, int maxBytes);
00060 PersistentHandle CmiCreateNodePersistent(int destNode, int maxBytes);
00061 PersistentHandle CmiCreateCompressPersistent(int destPE, int maxBytes, int start, int type);
00062 PersistentHandle CmiCreateCompressNodePersistent(int destNode, int maxBytes, int start, int type);
00063 PersistentHandle CmiCreateCompressPersistentSize(int destPE, int maxBytes, int start, int size, int type);
00064 PersistentHandle CmiCreateCompressNodePersistentSize(int destNode, int maxBytes, int start, int size, int type);
00065 PersistentReq CmiCreateReceiverPersistent(int maxBytes);
00066 PersistentHandle CmiRegisterReceivePersistent(PersistentReq req);
00067 void CmiUsePersistentHandle(PersistentHandle *p, int n);
00068 void CmiDestroyPersistent(PersistentHandle h);
00069 void CmiDestroyAllPersistent(void);
00070
00071 void CmiPersistentOneSend(void);
00072 #else
00073
00074 typedef int PersistentRecvHandle;
00075
00076 #define CmiPersistentInit()
00077 #define CmiCreatePersistent(x,y)
00078 #define CmiCreateNodePersistent(x,y)
00079 #define CmiCreateCompressPersistent(x,y,z,m)
00080 #define CmiCreateCompressPersistentSize(x,y,z,t,m)
00081 #define CmiCreateCompressNodePersistent(x,y,z,m)
00082 #define CmiCreateCompressNodePersistentSize(x,y,z,t,m)
00083 #define CmiCreateReceiverPersistent(maxBytes)
00084 #define CmiRegisterReceivePersistent(req)
00085 #define CmiUsePersistentHandle(x,y)
00086 #define CmiDestroyAllPersistent()
00087
00088 #endif
00089
00090 #ifdef __cplusplus
00091 }
00092 #endif
00093
00094 #endif