|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectat.dms.kjc.spacetime.RawExecutionCode
public abstract class RawExecutionCode
This abstract class defines an interface for filter code generators. These generator add code necessary to execute the filter on raw, generating SIR code.
Field Summary | |
---|---|
static String |
ARRAY_COPY
|
static String |
ARRAY_INDEX
|
static String |
arrayReceiveMethod
|
static String |
exeIndex
|
static String |
exeIndex1
|
protected FilterInfo |
filterInfo
|
protected boolean |
gdnInput
true if this filter has dynamic network input, this will only happen when the filters is connected to a inputtracenode and on the dynamic net |
protected boolean |
gdnOutput
true if this filter has dynamic network output, this will only happen if hte filter is connected to an outputtrcenode allocated to the gdn |
static String |
gdnReceiveMethod
|
static String |
gdnSendMethod
|
protected GeneratedVariables |
generatedVariables
|
static String |
initSchedFunction
|
static String |
initStage
|
protected static boolean |
INLINE_WORK
|
protected Layout |
layout
|
protected JMethodDeclaration |
primePumpMethod
the method that executes each stage of the prime pump schedule |
static String |
primePumpStage
|
static String |
rateMatchSendMethod
|
static String |
recvBuffer
fields for the var names we introduce |
static String |
recvBufferBits
|
static String |
recvBufferIndex
|
static String |
recvBufferSize
|
static String |
recvIndex
|
static String |
sendBuffer
|
static String |
sendBufferIndex
|
static String |
simpleIndex
|
static String |
staticReceiveMethod
|
static String |
staticSendMethod
|
static String |
steadySchedFunction
|
static String |
steadyStage
|
static String |
structReceiveMethodPrefix
|
static String |
structReceivePrefix
the prefix for the c method to receive structs over a network |
static String |
structReceivePrefixDynamic
the c method that is used to receive structs over the gdn |
static String |
structReceivePrefixStatic
the c method that is used to receive structs over the static net |
protected RawTile |
tile
the tile this filter is mapped to |
protected int |
uniqueID
|
static String |
workCounter
|
Constructor Summary | |
---|---|
RawExecutionCode(RawTile tile,
FilterInfo filterInfo,
Layout layout)
|
Method Summary | |
---|---|
static JStatement |
boundToSwitchStmt(int constant)
|
static JStatement |
constToSwitchStmt(int constant)
|
protected JBlock |
gdnCacheAlign(boolean init)
Generate code to complete the dram transactions because we have to align dram transfers to cache-line sized transfers. |
static JBlock |
gdnDisregardIncoming(int words)
|
static JBlock |
gdnDummyOutgoing(int words)
|
JStatement |
gdnReceive(boolean integer,
JExpression recvInto)
|
abstract JMethodDeclaration[] |
getHelperMethods()
|
abstract JMethodDeclaration |
getInitStageMethod()
|
abstract JMethodDeclaration |
getPrimePumpMethod()
|
abstract JBlock |
getSteadyBlock()
|
static int |
getUniqueID()
|
abstract JFieldDeclaration[] |
getVarDecls()
|
protected void |
sendRatesToSwitch(FilterInfo filterInfo,
JBlock workBlock)
If we are in the prime pump or the steady state, we may be compressing the switch code and if so, we need to send the push rate and the pop rate to the switch for loop bounds. |
JStatement |
setDynMsgHeader()
|
protected JStatement |
setupGDNStore(SchedulingPhase whichPhase)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static String structReceivePrefix
public static String structReceivePrefixStatic
public static String structReceivePrefixDynamic
protected static final boolean INLINE_WORK
public static String recvBuffer
public static String recvBufferSize
public static String recvBufferBits
public static String sendBuffer
public static String sendBufferIndex
public static String rateMatchSendMethod
public static String recvBufferIndex
public static String recvIndex
public static String simpleIndex
public static String exeIndex
public static String exeIndex1
public static String ARRAY_INDEX
public static String ARRAY_COPY
public static String initSchedFunction
public static String steadySchedFunction
public static String staticReceiveMethod
public static String gdnReceiveMethod
public static String staticSendMethod
public static String gdnSendMethod
public static String structReceiveMethodPrefix
public static String arrayReceiveMethod
public static String initStage
public static String steadyStage
public static String primePumpStage
public static String workCounter
protected int uniqueID
protected GeneratedVariables generatedVariables
protected FilterInfo filterInfo
protected JMethodDeclaration primePumpMethod
protected boolean gdnInput
protected boolean gdnOutput
protected RawTile tile
protected Layout layout
Constructor Detail |
---|
public RawExecutionCode(RawTile tile, FilterInfo filterInfo, Layout layout)
Method Detail |
---|
public static int getUniqueID()
public abstract JFieldDeclaration[] getVarDecls()
public abstract JMethodDeclaration[] getHelperMethods()
public abstract JMethodDeclaration getInitStageMethod()
public abstract JBlock getSteadyBlock()
public abstract JMethodDeclaration getPrimePumpMethod()
public static JStatement constToSwitchStmt(int constant)
public static JStatement boundToSwitchStmt(int constant)
protected JStatement setupGDNStore(SchedulingPhase whichPhase)
init
- true if initprimepump
- true if primepump
public JStatement gdnReceive(boolean integer, JExpression recvInto)
integer
- if true use csti_integer, false use csti_fprecvInto
- The expression to receive into
recvIntofrom the static network.
public JStatement setDynMsgHeader()
protected void sendRatesToSwitch(FilterInfo filterInfo, JBlock workBlock)
workBlock).
filterInfo
- workBlock
- public static JBlock gdnDisregardIncoming(int words)
words
-
wordswords into a dummy variable defined in TraceIRToC over the gdn.
public static JBlock gdnDummyOutgoing(int words)
words
-
wordswords over the gdn using a predefined header.
protected JBlock gdnCacheAlign(boolean init)
init
- Are we in the init stage? Used to calculate the number of items we
generate and receive.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |