destBuffer.getOwner().getComputeCode().addDRAMCommand(false, init || primepump, primepump,
destBuffer.getOwner().getComputeCode().addDRAMCommand(false, stage,
    private static void generateInputDRAMCommands(InputTraceNode input, boolean init, boolean primepump)     {	FilterTraceNode filter = (FilterTraceNode)input.getNext();	//don't do anything for redundant buffers	if (IntraTraceBuffer.getBuffer(input, filter).redundant())	    return;	//number of total items that are being joined	int items = FilterInfo.getFilterInfo(filter).totalItemsReceived(init, primepump);	//do nothing if there is nothing to do	if (items == 0)	    return;		assert items % input.totalWeights() == 0: 	    "weights on input trace node does not divide evenly with items received";	//iterations of "joiner"	int iterations = items / input.totalWeights();	int typeSize = Util.getTypeSize(filter.getFilter().getInputType());	    	//generate the commands to read from the o/i temp buffer	//for each input to the input trace node	for (int i = 0; i < input.getSources().length; i++) {	    //get the first non-redundant buffer	    OffChipBuffer srcBuffer = 		InterTraceBuffer.getBuffer(input.getSources()[i]).getNonRedundant();	    SpaceTimeBackend.println("Generate the DRAM read command for " + srcBuffer);	    int readBytes = iterations * typeSize * 		input.getWeight(input.getSources()[i]) * 4;	    readBytes = Util.cacheLineDiv(readBytes);	    srcBuffer.getOwner().getComputeCode().addDRAMCommand(true, init || primepump, primepump,								 readBytes, srcBuffer, true);	}	//generate the command to write to the dest of the input trace node	OffChipBuffer destBuffer = IntraTraceBuffer.getBuffer(input, filter);	int writeBytes = items * typeSize * 4;	writeBytes = Util.cacheLineDiv(writeBytes);	destBuffer.getOwner().getComputeCode().addDRAMCommand(false, init || primepump, primepump, 							      writeBytes, destBuffer, true);    }