charm AT lists.siebelschool.illinois.edu
Subject: Charm++ parallel programming system
List archive
- From: haozi <yidanyiji AT 163.com>
- To: "charm AT cs.uiuc.edu" <charm AT cs.uiuc.edu>
- Subject: [charm] about cell_lib on the Cell Processor
- Date: Wed, 29 Jul 2015 16:14:19 +0800 (CST)
- List-archive: <http://lists.cs.uiuc.edu/pipermail/charm/>
- List-id: CHARM parallel programming system <charm.cs.uiuc.edu>
Hi, guys.
I am reading the code about cell_in on the cell processor.
I found the define from spert.cpp as following :
unsigned int stateLookupTable[] = {
(unsigned int)processMsgState_sent, 0xFFFFFFFF, 0, 0, // 0 = CLEAR
(unsigned int)processMsgState_doNothing, 0x00000000, 0, 0, // 1 = SENT
(unsigned int)processMsgState_preFetching, 0x00000000, 0, 0, // 2 = PRE_FETCHING
(unsigned int)processMsgState_preFetchingList, 0xFFFFFFFF, 0, 0, // 3 = PRE_FETCHING_LIST
(unsigned int)processMsgState_fetching, 0x00000000, 0, 0, // 4 = FETCHING
(unsigned int)processMsgState_listReadyList, 0x00000000, 0, 0, // 5 = LIST_READY_LIST
(unsigned int)processMsgState_fetchingList, 0xFFFFFFFF, 0, 0, // 6 = FETCHING_LIST
(unsigned int)processMsgState_ready, 0x00000000, 0, 0, // 7 = READY
(unsigned int)processMsgState_executed, 0x00000000, 0, 0, // 8 = EXECUTED
(unsigned int)processMsgState_executedList, 0x00000000, 0, 0, // 9 = EXECUTED_LIST
(unsigned int)processMsgState_committing, 0x00000000, 0, 0, // 10 = COMMITTING
(unsigned int)processMsgState_doNothing, 0x00000000, 0, 0, // 11 = FINISHED
(unsigned int)processMsgState_error, 0x00000000, 0, 0 // 12 = ERROR
};
And I found the define from spert.h:
// Defines for SPEMessage::state
#define SPE_MESSAGE_STATE_MIN 0
#define SPE_MESSAGE_STATE_CLEAR 0
#define SPE_MESSAGE_STATE_SENT 1
#define SPE_MESSAGE_STATE_PRE_FETCHING 2
#define SPE_MESSAGE_STATE_PRE_FETCHING_LIST 3 // NOTE: code in processMsgState_send requires 'PRE_FETCHING_LIST = PRE_FETCHING + 1'
#define SPE_MESSAGE_STATE_FETCHING 4
#define SPE_MESSAGE_STATE_LIST_READY_LIST 5
#define SPE_MESSAGE_STATE_FETCHING_LIST 6
#define SPE_MESSAGE_STATE_READY 7
#define SPE_MESSAGE_STATE_EXECUTED 8
#define SPE_MESSAGE_STATE_EXECUTED_LIST 9 // NOTE: code in processMsgState_ready requires 'EXECUTED_LIST = EXECUTED + 1'
#define SPE_MESSAGE_STATE_COMMITTING 10
#define SPE_MESSAGE_STATE_FINISHED 11
#define SPE_MESSAGE_STATE_ERROR 12
#define SPE_MESSAGE_STATE_MAX 12
#define SPE_MESSAGE_NUM_STATES (SPE_MESSAGE_STATE_MAX - SPE_MESSAGE_STATE_MIN + 1)
The annotation for 'processMsgState_sent' is '0 = CLEAR', and the annotation for 'processMsgState_doNothing' is '1 = SENT'.
At the same time, SPE_MESSAGE_STATE_CLEAR is different from SPE_MESSAGE_STATE_SENT.
This makes me confused.
Could anybody explain those defines?
best regards.
haozi
I am reading the code about cell_in on the cell processor.
I found the define from spert.cpp as following :
unsigned int stateLookupTable[] = {
(unsigned int)processMsgState_sent, 0xFFFFFFFF, 0, 0, // 0 = CLEAR
(unsigned int)processMsgState_doNothing, 0x00000000, 0, 0, // 1 = SENT
(unsigned int)processMsgState_preFetching, 0x00000000, 0, 0, // 2 = PRE_FETCHING
(unsigned int)processMsgState_preFetchingList, 0xFFFFFFFF, 0, 0, // 3 = PRE_FETCHING_LIST
(unsigned int)processMsgState_fetching, 0x00000000, 0, 0, // 4 = FETCHING
(unsigned int)processMsgState_listReadyList, 0x00000000, 0, 0, // 5 = LIST_READY_LIST
(unsigned int)processMsgState_fetchingList, 0xFFFFFFFF, 0, 0, // 6 = FETCHING_LIST
(unsigned int)processMsgState_ready, 0x00000000, 0, 0, // 7 = READY
(unsigned int)processMsgState_executed, 0x00000000, 0, 0, // 8 = EXECUTED
(unsigned int)processMsgState_executedList, 0x00000000, 0, 0, // 9 = EXECUTED_LIST
(unsigned int)processMsgState_committing, 0x00000000, 0, 0, // 10 = COMMITTING
(unsigned int)processMsgState_doNothing, 0x00000000, 0, 0, // 11 = FINISHED
(unsigned int)processMsgState_error, 0x00000000, 0, 0 // 12 = ERROR
};
And I found the define from spert.h:
// Defines for SPEMessage::state
#define SPE_MESSAGE_STATE_MIN 0
#define SPE_MESSAGE_STATE_CLEAR 0
#define SPE_MESSAGE_STATE_SENT 1
#define SPE_MESSAGE_STATE_PRE_FETCHING 2
#define SPE_MESSAGE_STATE_PRE_FETCHING_LIST 3 // NOTE: code in processMsgState_send requires 'PRE_FETCHING_LIST = PRE_FETCHING + 1'
#define SPE_MESSAGE_STATE_FETCHING 4
#define SPE_MESSAGE_STATE_LIST_READY_LIST 5
#define SPE_MESSAGE_STATE_FETCHING_LIST 6
#define SPE_MESSAGE_STATE_READY 7
#define SPE_MESSAGE_STATE_EXECUTED 8
#define SPE_MESSAGE_STATE_EXECUTED_LIST 9 // NOTE: code in processMsgState_ready requires 'EXECUTED_LIST = EXECUTED + 1'
#define SPE_MESSAGE_STATE_COMMITTING 10
#define SPE_MESSAGE_STATE_FINISHED 11
#define SPE_MESSAGE_STATE_ERROR 12
#define SPE_MESSAGE_STATE_MAX 12
#define SPE_MESSAGE_NUM_STATES (SPE_MESSAGE_STATE_MAX - SPE_MESSAGE_STATE_MIN + 1)
The annotation for 'processMsgState_sent' is '0 = CLEAR', and the annotation for 'processMsgState_doNothing' is '1 = SENT'.
At the same time, SPE_MESSAGE_STATE_CLEAR is different from SPE_MESSAGE_STATE_SENT.
This makes me confused.
Could anybody explain those defines?
best regards.
haozi
- [charm] about cell_lib on the Cell Processor, haozi, 07/29/2015
Archive powered by MHonArc 2.6.16.