 			//index
 			SMem[indexBase+j] = j+num;
 			__syncthreads();
-/*
-			if(tid < count)
-			{
-				if(out[i*k+tid]-num>0 && out[i*k+tid]-num < indexBase)
-				{
-					SMem[ out[i*k+tid]-num ] = INIT_MAX;
-				}
-			}
-			__syncthreads();
-*/
-		}
-//		__syncthreads();
-/*
-//		for(int j=0; j<count; j++)
-		//coalesce
-		for(int j=tid; j<count; j+=blockDim.x)
-		{
-			if(out[i*k+j]-num>=0 && out[i*k+j]-num<indexBase)
-			{
-				SMem[ out[i*k+j]-num ] = INIT_MAX;
-			}
-			__syncthreads();
-		}
-		__syncthreads();
-*/
+		}
 		if(tid < count)
 		{
 			if(out[i*k+tid]-num>=0 && out[i*k+tid]-num<indexBase)

	int ty = threadIdx.y;
	int row;
	int col;
//	int row = by*TILE_WIDTH+ty;
//	int col = bx*TILE_WIDTH+tx;
	int px;
	int py;	


	int *V, *out;				//host copies
	int *d_V, *d_out;			//device copies
	int *D;						
	FILE *fp;
	if(argc != 2)
	{
