items -= filterInfo.primePumpItemsNotConsumed();
    private static void generateFilterOutputDRAMCommand(FilterTraceNode filterNode, FilterInfo filterInfo,					    RawTile tile, boolean init, boolean primepump)     {	if (filterNode.getNext() != null &&		 filterNode.getNext().isOutputTrace()) {	    //get this buffer or null if there are no outputs	    OutputTraceNode output = (OutputTraceNode)filterNode.getNext();	    OffChipBuffer buffer =		IntraTraceBuffer.getBuffer(filterNode,					   output).getNonRedundant();	    if (buffer == null)		return;	    //set to true if the only destination is a file, and 	    //everything in between is unnecessary	    boolean fileDest = false;	    if (output.oneOutput() && OffChipBuffer.unnecessary(output) &&		output.getSingleEdge().getDest().isFileWriter() &&		OffChipBuffer.unnecessary(output.getSingleEdge().getDest()))		fileDest = true;			    	    int stage = 0;	    if (!init && !primepump)		stage = 3;	    //get the number of items sent	    int items = filterInfo.totalItemsSent(init, primepump);	    //if this is the primepump, subtract the primepump items not comsumed	    //in the primepump stage, they get transfered below	    if (primepump) {		SpaceTimeBackend.println("Filter Output DRAM command " + filterNode + " has " +					 filterInfo.primePumpItemsNotConsumed() + "steady primp-pump items");				items -= filterInfo.primePumpItemsNotConsumed();	    }	    	    if (items > 0 ) {		int words = 		    (items * Util.getTypeSize(filterNode.getFilter().getOutputType()));		if (fileDest) 		    tile.getComputeCode().addFileCommand(false, init || primepump, 							 words, buffer);		else {		    SpaceTimeBackend.println("Generating DRAM store command with " + items + " items, typesize " + 					     Util.getTypeSize(filterNode.getFilter().getOutputType()) + 					     " and " + words + " words");		    tile.getComputeCode().addDRAMCommand(false, stage, 							 Util.cacheLineDiv(words * 4),							 buffer, false);		}	    }	    if (primepump && filterInfo.primePumpItemsNotConsumed() > 0) {		int words =		    (filterInfo.primePumpItemsNotConsumed() * 		     Util.getTypeSize(filterNode.getFilter().getOutputType()));		if (fileDest) 		    tile.getComputeCode().addFileCommand(false, init || primepump, 							 words, buffer);		else {		    SpaceTimeBackend.println("Generating DRAM store command with " + filterInfo.primePumpItemsNotConsumed()					     + " items, typesize " + 					     Util.getTypeSize(filterNode.getFilter().getOutputType()) + 					     " and " + words + " words at end of primepipe");		    tile.getComputeCode().addDRAMCommand(false, 2, 							 Util.cacheLineDiv(words * 4),							 buffer, false);		}	    }	}    }