Skip to Content.
Sympa Menu

charm - [charm] about cell_lib on the Cell Processor

charm AT lists.cs.illinois.edu

Subject: Charm++ parallel programming system

List archive

[charm] about cell_lib on the Cell Processor


Chronological Thread 
  • 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




  • [charm] about cell_lib on the Cell Processor, haozi, 07/29/2015

Archive powered by MHonArc 2.6.16.

Top of Page