 	cudaMemcpy(d_IC,IC,sizeof(REAL)*dv,cudaMemcpyHostToDevice);
 
 	// Some for loop
-
-	upTriangle <<< bks,32 >>>(d_IC,d_right,d_left);
-
-
-	downTriangle <<< bks,32 >>>(d_IC,d_right,d_left);
+	REAL t_eq = 0.;
+	double wall0 = clock();
+
+	for(unsigned int k = 0; k < ITERLIMIT; k++)
+	{
+
+		upTriangle <<< bks,32 >>>(d_IC,d_right,d_left);
+
+		downTriangle <<< bks,32 >>>(d_IC,d_right,d_left);
+
+		t_eq += (TS*17);
+
 
 	// Some condition about when to stop or copy memory.
-
-
-
+	}
+
+	double wall1 = clock();
+	double timed = (wall1-wall0)/CLOCKS_PER_SEC;
+
+	cout << "That took: " << timed << " seconds" << endl;
+
+	cudaMemcpy(T_final, d_IC, sizeof(REAL)*dv, cudaMemcpyDeviceToHost)
+	fwr << t_eq << " ";
+	for (unsigned int k = 0; k<dv; k++)
+	{
+		fwr << T_final[k] << " ";
+	}
+
+	fwr.close();
 	// End loop and write out data.
 
-
-
 	cudaFree(d_IC);
-	cudaFree(d_IC2);
-	cudaFree(d_coll);
+	cudaFree(d_right);
+	cudaFree(d_left);
 
 	return 0;
-
 }

			}

		}
		__syncthreads();
		//Fill edges
		if (k>2 && tid == 0)
		{
			temper[(k-3)+(34*shft_wr)] = sL[itr];

#define DIVISIONS  1024.
#define LENX       50.
#define TS         .5
#define ITERLIMIT  5000.
#define REAL       float
#define TH_DIFF    8.418e-5

