⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 slog.h

📁 MPICH是MPI的重要研究,提供了一系列的接口函数,为并行计算的实现提供了编程环境.
💻 H
📖 第 1 页 / 共 2 页
字号:
/*   The def'n of the Fixed Record definition Table   */typedef struct {    SLOG_uint32            capacity;    SLOG_uint32            increment;    SLOG_uint32            Nentries;    SLOG_recdef_t         *entries;              /* entries[ Nentries ]  */    SLOG_fptr              file_loc;             /* fptr to entries[ii]  */} SLOG_recdefs_table_t;/*   The def'n of the Entry of Frame Directory   */typedef struct {    SLOG_fptr              fptr2framehdr;    SLOG_time              starttime;    SLOG_time              endtime;} SLOG_dir_entry_t;/*   The def'n of the Frame Directory   */typedef struct {    SLOG_fptr              prevdir;    SLOG_fptr              nextdir;    SLOG_uint32            Nframe;    SLOG_dir_entry_t      *entries;           /*  entries[ SLOG_NDirEntry ]  */} SLOG_dir_t;/*   The def'n of the Frame Header   */typedef struct {    SLOG_uint32            Nbytes_cur;        /* rec's Within frame     */    SLOG_uint32            Nrec_cur;    SLOG_uint32            Nbytes_inc;        /* Incoming rec's         */    SLOG_uint32            Nrec_inc;    SLOG_uint32            Nbytes_pas;        /* Passing Through rec's  */    SLOG_uint32            Nrec_pas;    SLOG_uint32            Nbytes_out;        /* Outgoing rec's         */    SLOG_uint32            Nrec_out;} SLOG_framehdr_t;/*     The def'n of a Space ID tag in support primitive assocication for      a Send() and Recv() pair*/typedef struct {    SLOG_nodeID_t        node;    SLOG_cpuID_t         cpu;         /* local CPU ID per node     */    SLOG_threadID_t      thread;      /* local thread ID per node  */} SLOG_tasklabel_t;/*   The def'n of an association pair, this is used to support association   */typedef struct {    /*    SLOG_intvlrec_t   *irec;    */    void              *irec;             /* pointer to the associated irec */    SLOG_assoc_t       fptr;             /* file pointer of associated irec */} SLOG_assocpair_t;/*   The def'n of a MPI call arguments vector   */typedef struct {    SLOG_N_args_t     size;    SLOG_arg_t       *values;            /*  values[ size ]  */} SLOG_vtrarg_t;typedef struct SLOG_vtrarg_lptr_ {           SLOG_vtrarg_t     *vtr;    struct SLOG_vtrarg_lptr_ *prev;    struct SLOG_vtrarg_lptr_ *next;} SLOG_vtrarg_lptr_t;/*   The def'n of the Interval Record ( run time )   */typedef struct {    SLOG_bytesize_t      bytesize;          /* bytesize in file */    SLOG_rectype_t       rectype;    SLOG_intvltype_t     intvltype;    SLOG_bebits_t        bebits[2];    SLOG_starttime_t     starttime;    SLOG_duration_t      duration;    SLOG_tasklabel_t     origID;            /*   origin    task label */    SLOG_tasklabel_t     destID;            /* destination task label */    SLOG_iaddr_t         instr_addr;    SLOG_N_assocs_t      N_assocs;    SLOG_assoc_t        *assocs;            /* assocs[ N_assocs ] */    SLOG_vtrarg_lptr_t  *vhead;    SLOG_vtrarg_lptr_t  *vtail;    SLOG_vtrarg_lptr_t  *vptr;} SLOG_intvlrec_t;/*   The def'n of Interval Record Bi-directional pointer type  */typedef struct SLOG_intvlrec_lptr_ {           SLOG_intvlrec_t       *irec;    struct SLOG_intvlrec_lptr_   *prev;    struct SLOG_intvlrec_lptr_   *next;} SLOG_intvlrec_lptr_t;/*   The def'n of Interval Record Bi-directional Linked List   */typedef struct {    SLOG_uint32            Nbytes_in_file;    SLOG_uint32            count_irec;    SLOG_intvlrec_lptr_t  *lhead;    SLOG_intvlrec_lptr_t  *ltail;    SLOG_intvlrec_lptr_t  *lptr;} SLOG_intvlrec_blist_t;/*   Infomation about the status of Irec Reservation in the frame   */typedef struct {    SLOG_int32     Nrec_eff;      /* effective No. of Irec carried over     */    SLOG_int32     Nbytes_eff;    /* effective Nbytes of Irec carried over  */    SLOG_int32     Nrec_tot;      /* total No. of Irec reserved in frame    */    SLOG_int32     Nbytes_tot;    /* total Nbytes of Irec reserved in frame */} SLOG_reserve_info_t;/*   The def'n of the SLOG_STREAM   */typedef struct {    int            HasIrec2IOStreamBeenUsed;    FILE          *fd;            /* File descriptor of the slogfile      */    filebuf_t     *fbuf;          /* File Buffer pointer of the slogfile  */    SLOG_fptr      file_dir_hdr;  /* beginning FD pointer in slog file    */    SLOG_fptr      file_dir_cur;  /* current entry in FD in slog file     */    SLOG_fptr      file_loc;      /* Current position in the slog file    */    SLOG_time                  prev_starttime;    /* chk incr=startime    */    SLOG_time                  prev_endtime;      /* chk incr=endtime     */    SLOG_reserve_info_t       *reserve;           /* Frame Reserve Info   */    SLOG_hdr_t                *hdr;               /* Header               */    SLOG_pstat_t              *pstat;             /* Preview Statistics   */    SLOG_pview_t              *pview;             /* Preview              */    SLOG_prof_t               *prof;              /* Display Profile      */    SLOG_threadinfo_table_t   *thread_tab;        /* Thread Table         */    SLOG_recdefs_table_t      *rec_defs;          /* Record Def'n Table   */    SLOG_dir_t                 frame_dir;         /* Directory            */    SLOG_dir_entry_t           frame_dir_entry;   /* Current Frame entry  */    SLOG_framehdr_t            frame_hdr;         /* Frame Header         */    SLOG_intvlrec_blist_t     *cur_bbuf;          /* rec within Frame     */    SLOG_intvlrec_blist_t     *inc_bbuf;          /* incoming rec         */    SLOG_intvlrec_blist_t     *pas_bbuf;          /* passing through rec  */    SLOG_intvlrec_blist_t     *out_bbuf;          /* outgoing rec         */    SLOG_intvlrec_blist_t     *tmp_bbuf;          /* temporary rec        */    SLOG_intvlrec_blist_t     *ptr2bbuf;          /* pointer to Bbuf read */} SLOG_STREAM;/*  High level SLOG (Common) API for both __Read__ and __Write__  */SLOG_intvlrec_t *SLOG_Irec_Create( void );void SLOG_Irec_Free( SLOG_intvlrec_t *irec );void SLOG_Irec_CopyVal( const SLOG_intvlrec_t *src, SLOG_intvlrec_t *dest );SLOG_intvlrec_t *SLOG_Irec_Copy( const SLOG_intvlrec_t *src );int SLOG_Irec_Print( const SLOG_intvlrec_t *irec, FILE *outfd );int SLOG_Irec_IsEmpty( const SLOG_intvlrec_t *irec );int SLOG_Irec_IsConsistent( const SLOG_intvlrec_t *irec );int SLOG_Irec_IsEqualTo( const SLOG_intvlrec_t *irec1,                         const SLOG_intvlrec_t *irec2 );	/*  Low level SLOG_Irec Methods  */int SLOG_Irec_DepositToFbuf( const SLOG_intvlrec_t *irec, filebuf_t *fbuf );SLOG_intvlrec_t *SLOG_Irec_WithdrawFromFbuf( const SLOG_recdefs_table_t *slog_recdefs,                                  filebuf_t            *fbuf );int SLOG_Irec_AddVtrArgs(       SLOG_intvlrec_t *irec,                          const SLOG_vtrarg_t   *varg );const SLOG_vtrarg_t *SLOG_Irec_GetVtrArgs( SLOG_intvlrec_t  *irec );void SLOG_Irec_DelAllVtrArgs( SLOG_intvlrec_t  *irec );/*  High level SLOG __Write__ API  */SLOG_STREAM *SLOG_OpenOutputStream( const char *filename );int SLOG_Irec_ReserveSpace(       SLOG_STREAM      *slog,                            const SLOG_rectype_t    rectype,                            const SLOG_intvltype_t  intvltype,                            const SLOG_bebit_t      bebit_0,                            const SLOG_bebit_t      bebit_1,                            const SLOG_starttime_t  starttime );int SLOG_Irec_SetMinRec(       SLOG_intvlrec_t  *intvlrec,                         const SLOG_rectype_t    rectype,                         const SLOG_intvltype_t  intvltype,                         const SLOG_bebit_t      bebit_0,                         const SLOG_bebit_t      bebit_1,                         const SLOG_starttime_t  starttime,                         const SLOG_duration_t   duration,                         const SLOG_nodeID_t     orig_node_id,                         const SLOG_cpuID_t      orig_cpu_id,                         const SLOG_threadID_t   orig_thread_id,                         const SLOG_iaddr_t      instr_addr,                         ... );int SLOG_Irec_SetDestTaskLabel(       SLOG_intvlrec_t  *intvlrec,                                const SLOG_nodeID_t     node_id,                                const SLOG_cpuID_t      cpu_id,                                const SLOG_threadID_t   thread_id );int SLOG_Irec_SetAssocs(       SLOG_intvlrec_t  *intvlrec,                         const SLOG_STREAM      *slog,                         const SLOG_N_assocs_t   N_assocs,                         const SLOG_assoc_t     *assocs  );int SLOG_Irec_SetArgs(       SLOG_intvlrec_t  *intvlrec,                       const SLOG_STREAM      *slog,                       const SLOG_N_args_t     N_args,                        const SLOG_arg_t       *args );int SLOG_Irec_ToOutputStream(       SLOG_STREAM      *slog,                              const SLOG_intvlrec_t  *irec );int SLOG_CloseOutputStream( SLOG_STREAM   *slog );int SLOG_STM_2ndPass( SLOG_STREAM *slog );/*  High level SLOG __Read__ API  */SLOG_STREAM *SLOG_OpenInputStream( const char *filename );const SLOG_intvlrec_t *SLOG_Irec_FromInputStream( SLOG_STREAM *slog,                                                  int *irc );int SLOG_Irec_GetMinRec( const SLOG_intvlrec_t   *intvlrec,                               SLOG_rectype_t    *rectype,                               SLOG_intvltype_t  *intvltype,                               SLOG_bebit_t      *bebit_0,                               SLOG_bebit_t      *bebit_1,                               SLOG_starttime_t  *starttime,                               SLOG_duration_t   *duration,                               SLOG_nodeID_t     *orig_node_id,                               SLOG_cpuID_t      *orig_cpu_id,                               SLOG_threadID_t   *orig_thread_id,                               SLOG_iaddr_t      *instr_addr,                         ... );int SLOG_Irec_GetAssocs( const SLOG_intvlrec_t  *intvlrec,                         const SLOG_N_assocs_t   size_assocs,                               SLOG_assoc_t     *assocs );int SLOG_Irec_GetArgs(       SLOG_intvlrec_t  *intvlrec,                       const SLOG_N_args_t     size_args,                             SLOG_arg_t       *args );int SLOG_CloseInputStream( SLOG_STREAM *slog );#include "slog_header.h"#include "slog_preview.h"#include "slog_pstat.h"#include "slog_ttable.h"#include "slog_profile.h"#include "slog_recdefs.h"#include "slog_strlist.h"#endif  /* if ! defined( _SLOG ) */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -