 	CUDA_SAFE_CALL (cudaFree(b_d));
 	CUDA_SAFE_CALL (cudaFree(temp_d));
 	
+	CUDA_SAFE_CALL (cudaFree(bl_norm_L2_d));
+	
 	/////////////////////////////////
 	// end timer
 	//time = walltime(&time);

	free(temp);
	free(temp_old);
	
	cudaDeviceReset();
	
	return 0;

	CUDA_SAFE_CALL (cudaMemcpy (b_d, b, size * sizeof(Real), cudaMemcpyHostToDevice));
	CUDA_SAFE_CALL (cudaMemcpy (temp_d, temp, size_temp * sizeof(Real), cudaMemcpyHostToDevice));
	
	// block and grid dimensions
	
	///////////////////////////////////////
