 
 namespace ginf {
 	template <typename T>
-	__device__ void gpuGraphCutPushToPixel(bool iter, GpuGrid<T> *grid, T *excess, T *residue, int d) {
-		GINF_DECL_ALT_X(iter); GINF_DECL_Y;
+	__device__ void gpuGraphCutPushToPixel(GpuGrid<T> *grid, T *excess, T *residue, int d) {
+		GINF_DECL_X; GINF_DECL_Y;
 		MatDim dim(grid->getWidth(), grid->getHeight());
 		
 		int nx = x + dDirX[d], ny = y + dDirY[d];

	}
	
	template <typename T>
	__global__ void gpuGraphCutPushKernel(bool iter, GpuGrid<T> *grid, int *height, T *excess, T *residue) {
		GINF_DECL_ALT_X(iter); GINF_DECL_Y;
		MatDim dim(grid->getWidth(), grid->getHeight());

		if (dim.isValid(x, y) && excess[dim.idx(x, y)] && height[dim.idx(x, y)] < grid->getNumNodes() + 2) {

				height[dim.idx(x, y)] = 1;
			} else {
				int minHeight = grid->getNumNodes() + 2;
				for (int d = 0; d < GINF_NUM_DIR; d++) {
					if (residue[dim.idx(x, y, d)]) {
						minHeight = GINF_MIN(minHeight, height[dim.idx(x + dDirX[d], y + dDirY[d])]);
					}
