moved
This commit is contained in:
362
Sapfor/_src/Predictor/Lib/CallInfoStructs.h
Normal file
362
Sapfor/_src/Predictor/Lib/CallInfoStructs.h
Normal file
@@ -0,0 +1,362 @@
|
||||
#ifndef _CallInfo_H
|
||||
#define _CallInfo_H
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "Event.h"
|
||||
|
||||
struct TraceCall {
|
||||
Event func_id;
|
||||
int source_line;
|
||||
char* source_file;
|
||||
int call_info_count;
|
||||
char** call_info; // pointer to lines with input function params
|
||||
int ret_info_count;
|
||||
char** ret_info; // pointer to lines with output function params
|
||||
|
||||
TraceCall(Event func_id, int source_line, char* source_file, int call_info_count,
|
||||
char** call_info, int ret_info_count, char** ret_info);
|
||||
};
|
||||
|
||||
|
||||
// Common CallInfo structures
|
||||
|
||||
struct IDOnlyInfo {
|
||||
long ID;
|
||||
};
|
||||
|
||||
// Interval structures
|
||||
|
||||
struct binter_Info {
|
||||
long line;
|
||||
char * file;
|
||||
long index;
|
||||
|
||||
~binter_Info() { delete file; }
|
||||
};
|
||||
|
||||
typedef struct IDOnlyInfo einter_Info;
|
||||
|
||||
// Message sending structures
|
||||
|
||||
typedef struct IDOnlyInfo rtl_BarrierInfo;
|
||||
|
||||
struct rtl_BcastInfo {
|
||||
long Count;
|
||||
long Size;
|
||||
};
|
||||
|
||||
// MPS/AM/AMView structures
|
||||
|
||||
typedef struct IDOnlyInfo CreateVMSInfo;
|
||||
typedef struct IDOnlyInfo getam_Info;
|
||||
|
||||
struct crtps_Info {
|
||||
long PSRef; // ID
|
||||
long PSRefParent;
|
||||
std::vector<long> InitIndexArray;
|
||||
std::vector<long> LastIndexArray;
|
||||
long StaticSign;
|
||||
};
|
||||
|
||||
struct getps_Info {
|
||||
long PSRef;
|
||||
long AMRef;
|
||||
};
|
||||
|
||||
struct psview_Info {
|
||||
long PSRef; // ID
|
||||
long PSRefParent;
|
||||
long Rank;
|
||||
std::vector<long> SizeArray;
|
||||
long StaticSign;
|
||||
};
|
||||
|
||||
struct setelw_Info {
|
||||
long PSRef; // 16
|
||||
long AMViewRef; // 16
|
||||
long AddrNumber; // 10
|
||||
std::vector<long> WeightNumber;
|
||||
// length = sun i = [0,AddrNumber-1] WeightNumber[i]
|
||||
std::vector<double> LoadWeight;
|
||||
};
|
||||
|
||||
typedef struct IDOnlyInfo delps_Info;
|
||||
|
||||
struct getamr_Info {
|
||||
long AMRef; // ID
|
||||
long AMViewRef;
|
||||
std::vector<long> IndexArray;
|
||||
};
|
||||
|
||||
struct getamv_Info {
|
||||
long ArrayHeader; // ArrayHeader
|
||||
long AMViewRef;
|
||||
};
|
||||
|
||||
struct mapam_Info {
|
||||
long AMRef;
|
||||
long PSRef;
|
||||
};
|
||||
|
||||
typedef struct IDOnlyInfo runam_Info;
|
||||
|
||||
struct crtamv_Info {
|
||||
long ID; // AMViewRef
|
||||
long AM_ID; // AMRef
|
||||
long StaticSign; // StaticSign
|
||||
std::vector<long> SizeArray; // Rank + SizeArray
|
||||
};
|
||||
|
||||
typedef struct IDOnlyInfo delamv_Info;
|
||||
|
||||
//====
|
||||
struct blkdiv_Info {
|
||||
long ID; // AMViewRef
|
||||
std::vector<long> AMVAxisDiv; // AMVAxisDiv[]
|
||||
};
|
||||
//=***
|
||||
|
||||
struct distr_Info {
|
||||
long ID; // AMViewRef
|
||||
long PSRef; // PSRef
|
||||
std::vector<long> AxisArray; // AxisArray[]
|
||||
std::vector<long> DistrParamArray;// DistrParamArray[]
|
||||
};
|
||||
|
||||
struct redis_Info {
|
||||
long ID; // AMViewRef
|
||||
long AID; // ArrayHeader
|
||||
long PSRef; // PSRef
|
||||
std::vector<long> AxisArray; // AxisArray[]
|
||||
std::vector<long> DistrParamArray;// DistrParamArray[]
|
||||
long NewSign;
|
||||
};
|
||||
|
||||
// DArray structures
|
||||
|
||||
struct crtda_Info {
|
||||
long ArrayHandlePtr; // ArrayHandlePtr
|
||||
long ArrayHeader; // ArrayHeader
|
||||
long TypeSize;
|
||||
long StaticSign; //
|
||||
long ReDistrSign; //
|
||||
std::vector<long> SizeArray;
|
||||
std::vector<long> LowShdWidthArray;
|
||||
std::vector<long> HiShdWidthArray;
|
||||
};
|
||||
|
||||
struct align_Info
|
||||
{
|
||||
long ArrayHeader; // ArrayHeader
|
||||
long ArrayHandlePtr; // ArrayHandlePtr
|
||||
long PatternRefPtr; // PatternRefPtr
|
||||
long PatternRef; // PatternRef
|
||||
int PatternType; // AMView = 1, DisArray = 2
|
||||
std::vector<long> AxisArray;
|
||||
std::vector<long> CoeffArray;
|
||||
std::vector<long> ConstArray;
|
||||
};
|
||||
|
||||
typedef struct IDOnlyInfo delda_Info;
|
||||
|
||||
struct realn_Info {
|
||||
long ArrayHandlePtr; // ArrayHandlePtr
|
||||
long ArrayHeader; // ArrayHeader
|
||||
long PatternRefPtr; // PatternRefPtr
|
||||
long PatternRef; // PatternRef
|
||||
int PatternType; // AMView = 1, DisArray = 2
|
||||
std::vector<long> AxisArray;
|
||||
std::vector<long> CoeffArray;
|
||||
std::vector<long> ConstArray;
|
||||
long NewSign;
|
||||
};
|
||||
|
||||
struct arrcpy_Info {
|
||||
|
||||
long FromBufferPtr;
|
||||
long FromArrayHeader;
|
||||
long FromArrayHandlePtr;
|
||||
std::vector<long> FromInitIndexArray;
|
||||
std::vector<long> FromLastIndexArray;
|
||||
std::vector<long> FromStepArray;
|
||||
|
||||
long ToBufferPtr;
|
||||
long ToArrayHeader;
|
||||
long ToArrayHandlePtr;
|
||||
std::vector<long> ToInitIndexArray;
|
||||
std::vector<long> ToLastIndexArray;
|
||||
std::vector<long> ToStepArray;
|
||||
|
||||
long CopyRegim;
|
||||
long CopyFlagPtr;
|
||||
};
|
||||
|
||||
struct waitcp_Info {
|
||||
long CopyFlagPtr;
|
||||
};
|
||||
|
||||
// ParLoop structures
|
||||
|
||||
struct crtpl_Info {
|
||||
long ID;
|
||||
long Rank;
|
||||
};
|
||||
|
||||
struct mappl_Info {
|
||||
long LoopRef; //ID;
|
||||
long PatternRefPtr;
|
||||
long PatternRef;
|
||||
int PatternType; // AMView = 1, DisArray = 2
|
||||
std::vector<long> AxisArray;
|
||||
std::vector<long> CoeffArray;
|
||||
std::vector<long> ConstArray;
|
||||
std::vector<long> InInitIndexArray;
|
||||
std::vector<long> InLastIndexArray;
|
||||
std::vector<long> InStepArray;
|
||||
};
|
||||
|
||||
typedef struct IDOnlyInfo dopl_Info;
|
||||
typedef struct IDOnlyInfo endpl_Info;
|
||||
|
||||
//grig
|
||||
struct dopl_full_Info
|
||||
{
|
||||
long ID;
|
||||
std::vector<long> Dim;
|
||||
std::vector<long> Step;
|
||||
std::vector<long> Lower;
|
||||
std::vector<long> Upper;
|
||||
long ReturnVar; //====//
|
||||
};
|
||||
//\grig
|
||||
|
||||
// Reduction structures
|
||||
|
||||
typedef struct IDOnlyInfo crtrg_Info;
|
||||
|
||||
struct crtred_Info {
|
||||
long ID;
|
||||
long RedArrayType;
|
||||
long RedArrayLength;
|
||||
long LocElmLength;
|
||||
};
|
||||
|
||||
struct insred_Info {
|
||||
long RG_ID;
|
||||
long RV_ID;
|
||||
};
|
||||
|
||||
typedef struct IDOnlyInfo delrg_Info;
|
||||
typedef struct IDOnlyInfo delred_Info;
|
||||
typedef struct IDOnlyInfo strtrd_Info;
|
||||
typedef struct IDOnlyInfo waitrd_Info;
|
||||
|
||||
// Shadow structures
|
||||
|
||||
struct crtshg_Info {
|
||||
long StaticSign;
|
||||
long ShadowGroupRef;
|
||||
};
|
||||
|
||||
struct inssh_Info {
|
||||
Event func; // function ID
|
||||
long ShadowGroupRef; // SHG_ID;
|
||||
long ArrayHeader; //
|
||||
long ArrayHandlePtr; // DA_ID;
|
||||
long FullShdSign; // only for inssh_, incsh_
|
||||
long MaxShdCount; // only for insshd_, incshd
|
||||
std::vector<long> ShdSignArray; // for insshd_, incshd_
|
||||
|
||||
std::vector<long> LowShdWidthArray;
|
||||
std::vector<long> HiShdWidthArray;
|
||||
|
||||
std::vector<long> InitDimIndex;
|
||||
std::vector<long> LastDimIndex;
|
||||
|
||||
std::vector<long> InitLowShdIndex;
|
||||
std::vector<long> LastLowShdIndex;
|
||||
|
||||
std::vector<long> InitHiShdIndex;
|
||||
std::vector<long> LastHiShdIndex;
|
||||
};
|
||||
|
||||
struct exfrst_Info{
|
||||
long ID; // LoopRef
|
||||
long ShadowGroupRef;
|
||||
};
|
||||
|
||||
struct imlast_Info{
|
||||
long ID; // LoopRef
|
||||
long ShadowGroupRef;
|
||||
};
|
||||
|
||||
struct across_Info {
|
||||
long AcrossType;
|
||||
long OldShadowGroupRef;
|
||||
long NewShadowGroupRef;
|
||||
double PipeLinePar;
|
||||
|
||||
long CondPipeLine;
|
||||
long ErrPipeLine;
|
||||
long PipeLinePLAxis;
|
||||
};
|
||||
|
||||
/*
|
||||
AcrossType=1;
|
||||
OldShadowGroupRef=9b7ac0;
|
||||
NewShadowGroupRef=9b77c0;
|
||||
PipeLinePar=0.000000;
|
||||
CondPipeLine=0
|
||||
ErrPipeLine=60
|
||||
*/
|
||||
|
||||
typedef struct IDOnlyInfo delshg_Info;
|
||||
typedef struct IDOnlyInfo strtsh_Info;
|
||||
typedef struct IDOnlyInfo waitsh_Info;
|
||||
typedef struct IDOnlyInfo sendsh_Info;
|
||||
typedef struct IDOnlyInfo recvsh_Info;
|
||||
|
||||
// Regular access to remote data
|
||||
|
||||
struct crtrbl_Info {
|
||||
long RemArrayHeader;
|
||||
long BufferHeader;
|
||||
long StaticSign;
|
||||
long LoopRef;
|
||||
std::vector<long> AxisArray;
|
||||
std::vector<long> CoeffArray;
|
||||
std::vector<long> ConstArray;
|
||||
};
|
||||
|
||||
struct crtrbp_Info {
|
||||
long ID; // BufferHeader;
|
||||
long RemArrayHeader;
|
||||
long StaticSign;
|
||||
long PSRef;
|
||||
long IsLocal;
|
||||
std::vector<long> CoordArray;
|
||||
};
|
||||
|
||||
struct loadrb_Info {
|
||||
long ID; // BufferHeader;
|
||||
long RenewSign;
|
||||
};
|
||||
|
||||
typedef struct IDOnlyInfo waitrb_Info;
|
||||
|
||||
struct srmem_Info {
|
||||
long MemoryCount;
|
||||
std::vector<long> LengthArray;
|
||||
};
|
||||
|
||||
// Root info
|
||||
struct root_Info {
|
||||
long VProcCount;
|
||||
long VPSRank;
|
||||
std::vector<long> VPSSize;
|
||||
};
|
||||
|
||||
extern bool GetCallParams(TraceCall &trc_call, void*& call_params);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user