Bläddra i källkod

Minor cleanup/simplification of the examples: do not forget to unregister data,
and simply rely on unregister instead of acquire/release when it's sufficient.

Cédric Augonnet 14 år sedan
förälder
incheckning
65c62f7649

+ 2 - 3
examples/basic_examples/block.c

@@ -64,15 +64,13 @@ int execute_on(uint32_t where, device_func func, float *block, int pnx, int pny,
 	starpu_task_wait_for_all();
 	starpu_task_wait_for_all();
 
 
 	/* update the array in RAM */
 	/* update the array in RAM */
-        starpu_data_acquire(block_handle, STARPU_R);
+	starpu_data_unregister(block_handle);
 
 
         for(i=0 ; i<pnx*pny*pnz; i++) {
         for(i=0 ; i<pnx*pny*pnz; i++) {
           FPRINTF(stderr, "%f ", block[i]);
           FPRINTF(stderr, "%f ", block[i]);
         }
         }
         FPRINTF(stderr, "\n");
         FPRINTF(stderr, "\n");
 
 
-        starpu_data_release(block_handle);
-
         return 0;
         return 0;
 }
 }
 
 
@@ -119,6 +117,7 @@ int main(int argc, char **argv)
         }
         }
 
 
         FPRINTF(stderr,"TEST %s\n", ret==1?"PASSED":"FAILED");
         FPRINTF(stderr,"TEST %s\n", ret==1?"PASSED":"FAILED");
+
         starpu_shutdown();
         starpu_shutdown();
 
 
 	return 0;
 	return 0;

+ 1 - 3
examples/basic_examples/variable.c

@@ -87,12 +87,10 @@ int main(int argc, char **argv)
 	starpu_task_wait_for_all();
 	starpu_task_wait_for_all();
 
 
 	/* update the array in RAM */
 	/* update the array in RAM */
-	starpu_data_acquire(float_array_handle, STARPU_R);
+	starpu_data_unregister(float_array_handle);
 
 
 	FPRINTF(stderr, "variable -> %f\n", foo);
 	FPRINTF(stderr, "variable -> %f\n", foo);
 
 
-	starpu_data_release(float_array_handle);
-
 	starpu_shutdown();
 	starpu_shutdown();
 
 
 	return 0;
 	return 0;

+ 1 - 3
examples/incrementer/incrementer.c

@@ -97,7 +97,7 @@ int main(int argc, char **argv)
 	starpu_task_wait_for_all();
 	starpu_task_wait_for_all();
 
 
 	/* update the array in RAM */
 	/* update the array in RAM */
-	starpu_data_acquire(float_array_handle, STARPU_R);
+	starpu_data_unregister(float_array_handle);
 
 
 	gettimeofday(&end, NULL);
 	gettimeofday(&end, NULL);
 
 
@@ -111,8 +111,6 @@ int main(int argc, char **argv)
 		return 1;
 		return 1;
 	}
 	}
 
 
-	starpu_data_release(float_array_handle);
-
 	double timing = (double)((end.tv_sec - start.tv_sec)*1000000 +
 	double timing = (double)((end.tv_sec - start.tv_sec)*1000000 +
 					(end.tv_usec - start.tv_usec));
 					(end.tv_usec - start.tv_usec));
 
 

+ 3 - 8
examples/matvecmult/matvecmult.c

@@ -187,10 +187,9 @@ int main(int argc, char **argv)
 
 
 	starpu_task_wait_for_all();
 	starpu_task_wait_for_all();
 
 
-	/* update the array in RAM */
-        starpu_data_acquire(matrix_handle, STARPU_R);
-        starpu_data_acquire(vector_handle, STARPU_R);
-        starpu_data_acquire(mult_handle, STARPU_R);
+	starpu_data_unregister(matrix_handle);
+	starpu_data_unregister(vector_handle);
+	starpu_data_unregister(mult_handle);
 
 
         int res = compareL2fe(correctResult, mult, height, 1e-6f);
         int res = compareL2fe(correctResult, mult, height, 1e-6f);
         FPRINTF(stdout, "TEST %s\n\n", (res == 0) ? "PASSED" : "FAILED !!!");
         FPRINTF(stdout, "TEST %s\n\n", (res == 0) ? "PASSED" : "FAILED !!!");
@@ -199,10 +198,6 @@ int main(int argc, char **argv)
         printArray(vector, width);
         printArray(vector, width);
         printArray(mult, height);
         printArray(mult, height);
 #endif
 #endif
-        starpu_data_release(matrix_handle);
-        starpu_data_release(vector_handle);
-        starpu_data_release(mult_handle);
-
         starpu_shutdown();
         starpu_shutdown();
 
 
 	return 0;
 	return 0;

+ 1 - 3
examples/opt/pi/pi.c

@@ -151,7 +151,7 @@ int main(int argc, char **argv)
 
 
 	/* Get the cnt_array back in main memory */
 	/* Get the cnt_array back in main memory */
 	starpu_data_unpartition(cnt_array_handle, 0);
 	starpu_data_unpartition(cnt_array_handle, 0);
-	starpu_data_acquire(cnt_array_handle, STARPU_RW);
+	starpu_data_unregister(cnt_array_handle);
 
 
 	/* Count the total number of entries */
 	/* Count the total number of entries */
 	unsigned long total_cnt = 0;
 	unsigned long total_cnt = 0;
@@ -169,8 +169,6 @@ int main(int argc, char **argv)
 	FPRINTF(stderr, "Total time : %f ms\n", timing/1000.0);
 	FPRINTF(stderr, "Total time : %f ms\n", timing/1000.0);
 	FPRINTF(stderr, "Speed : %f GShot/s\n", total_shot_cnt/(1e3*timing));
 	FPRINTF(stderr, "Speed : %f GShot/s\n", total_shot_cnt/(1e3*timing));
 
 
-	starpu_data_release(cnt_array_handle);
-
 	if (!getenv("STARPU_SSILENT")) starpu_display_codelet_stats(&cl);
 	if (!getenv("STARPU_SSILENT")) starpu_display_codelet_stats(&cl);
 
 
 	starpu_shutdown();
 	starpu_shutdown();

+ 1 - 5
examples/opt/pi/pi_redux.c

@@ -292,7 +292,7 @@ int main(int argc, char **argv)
 		STARPU_ASSERT(!ret);
 		STARPU_ASSERT(!ret);
 	}
 	}
 
 
-	starpu_data_acquire(shot_cnt_handle, STARPU_R);
+	starpu_data_unregister(shot_cnt_handle);
 
 
 	gettimeofday(&end, NULL);
 	gettimeofday(&end, NULL);
 	double timing = (double)((end.tv_sec - start.tv_sec)*1000000 + (end.tv_usec - start.tv_usec));
 	double timing = (double)((end.tv_sec - start.tv_sec)*1000000 + (end.tv_usec - start.tv_usec));
@@ -301,15 +301,11 @@ int main(int argc, char **argv)
 	unsigned long total = ntasks*NSHOT_PER_TASK;
 	unsigned long total = ntasks*NSHOT_PER_TASK;
 	double pi_approx = ((double)shot_cnt*4.0)/total;
 	double pi_approx = ((double)shot_cnt*4.0)/total;
 
 
-	starpu_data_release(shot_cnt_handle);
-
-
 	FPRINTF(stderr, "Pi approximation : %lf (%ld / %ld)\n", pi_approx, shot_cnt, total);
 	FPRINTF(stderr, "Pi approximation : %lf (%ld / %ld)\n", pi_approx, shot_cnt, total);
 	FPRINTF(stderr, "Error %le \n", pi_approx - PI);
 	FPRINTF(stderr, "Error %le \n", pi_approx - PI);
 	FPRINTF(stderr, "Total time : %f ms\n", timing/1000.0);
 	FPRINTF(stderr, "Total time : %f ms\n", timing/1000.0);
 	FPRINTF(stderr, "Speed : %f GShot/s\n", total/(1e3*timing));
 	FPRINTF(stderr, "Speed : %f GShot/s\n", total/(1e3*timing));
 
 
-	starpu_data_unregister(shot_cnt_handle);
 	starpu_shutdown();
 	starpu_shutdown();
 
 
 	if (abs(pi_approx - PI) > 1.0)
 	if (abs(pi_approx - PI) > 1.0)