瀏覽代碼

Do not draw GFlop/W

It is not actually really meaningful, it is GFlop/J, i.e. GFlops/s/W,
which is meaningful.
Samuel Thibault 4 年之前
父節點
當前提交
313c57af63

+ 3 - 14
doc/doxygen/chapters/380_offline_performance_tools.doxy

@@ -511,7 +511,7 @@ $ gv starpu_non_linear_memset_regression_based_energy.eps
 \image html starpu_non_linear_memset_regression_based_energy.png
 \image latex starpu_non_linear_memset_regression_based_energy.eps "" width=\textwidth
 
-The <c>-f</c> option can also be used to display the performance in terms of GFlop/J:
+The <c>-f</c> option can also be used to display the performance in terms of GFlop/s/W, i.e. the efficiency:
 
 \verbatim
 $ tools/starpu_perfmodel_plot -f -e -s non_linear_memset_regression_based_energy
@@ -522,6 +522,8 @@ $ gv starpu_non_linear_memset_regression_based_energy.eps
 \image html starpu_non_linear_memset_regression_based_energy_flops.png
 \image latex starpu_non_linear_memset_regression_based_energy_flops.eps "" width=\textwidth
 
+We clearly see here that it is much more energy-efficient to stay in the L3 cache.
+
 One can combine the two time and energy performance models to draw Watts:
 
 \verbatim
@@ -533,19 +535,6 @@ $ gv starpu_power_non_linear_memset_regression_based.eps
 \image html starpu_power_non_linear_memset_regression_based.png
 \image latex starpu_power_non_linear_memset_regression_based.eps "" width=\textwidth
 
-Or last but not least, GFlop/W, i.e. the efficiency:
-
-\verbatim
-$ tools/starpu_perfmodel_plot -f -se non_linear_memset_regression_based non_linear_memset_regression_based_energy
-$ gnuplot starpu_power_non_linear_memset_regression_based.gp
-$ gv starpu_power_non_linear_memset_regression_based.eps
-\endverbatim
-
-\image html starpu_power_non_linear_memset_regression_based_flops.png
-\image latex starpu_power_non_linear_memset_regression_based_flops.eps "" width=\textwidth
-
-We clearly see here that it is much more energy-efficient to stay in the L3 cache.
-
 \section DataTrace Data trace and tasks length
 
 It is possible to get statistics about tasks length and data size by using :

+ 3 - 3
doc/doxygen/chapters/images/starpu_non_linear_memset_regression_based_energy_flops.eps

@@ -1,7 +1,7 @@
 %!PS-Adobe-2.0 EPSF-2.0
 %%Title: starpu_non_linear_memset_regression_based_energy.eps
 %%Creator: gnuplot 5.4 patchlevel 0
-%%CreationDate: Thu Oct 22 01:06:30 2020
+%%CreationDate: Sat Oct 24 19:42:11 2020
 %%DocumentFonts: (atend)
 %%BoundingBox: 50 50 410 302
 %%EndComments
@@ -481,7 +481,7 @@ SDict begin [
   /Creator (gnuplot 5.4 patchlevel 0)
 %  /Producer (gnuplot)
 %  /Keywords ()
-  /CreationDate (Thu Oct 22 01:06:30 2020)
+  /CreationDate (Sat Oct 24 19:42:11 2020)
   /DOCINFO pdfmark
 end
 } ifelse
@@ -1099,7 +1099,7 @@ LCb setrgbcolor
 LCb setrgbcolor
 133 2533 M
 currentpoint gsave translate -270 rotate 0 0 moveto
-[ [(Helvetica) 140.0 0.0 true true 0 (GFlop/J)]
+[ [(Helvetica) 140.0 0.0 true true 0 (GFlop/s/W)]
 ] -46.7 MCshow
 grestore
 /Helvetica findfont 140 scalefont setfont

二進制
doc/doxygen/chapters/images/starpu_non_linear_memset_regression_based_energy_flops.pdf


二進制
doc/doxygen/chapters/images/starpu_non_linear_memset_regression_based_energy_flops.png


文件差異過大導致無法顯示
+ 0 - 1460
doc/doxygen/chapters/images/starpu_power_non_linear_memset_regression_based_flops.eps


二進制
doc/doxygen/chapters/images/starpu_power_non_linear_memset_regression_based_flops.pdf


二進制
doc/doxygen/chapters/images/starpu_power_non_linear_memset_regression_based_flops.png


+ 8 - 14
tools/starpu_perfmodel_plot.c

@@ -408,12 +408,8 @@ static void display_history_based_perf_models(FILE *gnuplot_file, struct starpu_
 											(entry2->deviation * entry2->deviation) / (entry2->mean * entry2->mean)
 											+ (entry->deviation * entry->deviation) / (entry->mean * entry->mean));
 
-										if (options->gflops)
-											fprintf(datafile, "\t%-15le\t%-15le", entry->flops / (entry->mean * 1000) / entry2->mean,
-													entry->flops / (entry->mean * 1000) / entry2->mean * rel_delta);
-										else
-											fprintf(datafile, "\t%-15le\t%-15le", entry2->mean / (entry->mean / 1000000),
-													entry2->mean / (entry->mean / 1000000) * rel_delta);
+										fprintf(datafile, "\t%-15le\t%-15le", entry2->mean / (entry->mean / 1000000),
+												entry2->mean / (entry->mean / 1000000) * rel_delta);
 										found = 1;
 										break;
 									}
@@ -509,17 +505,15 @@ static void display_selected_models(FILE *gnuplot_file, struct starpu_perfmodel
 	fprintf(gnuplot_file, "set output \"starpu_%s%s.eps\"\n", options->energy_symbol?"power_":"", options->symbol);
 	fprintf(gnuplot_file, "set title \"Model for codelet %s\"\n", symbol);
 	fprintf(gnuplot_file, "set xlabel \"Total data size\"\n");
-	if (options->gflops)
-		if (options->energy_symbol)
-			fprintf(gnuplot_file, "set ylabel \"GFlop/W\"\n");
-		else if (options->energy)
-			fprintf(gnuplot_file, "set ylabel \"GFlop/J\"\n");
+	if (options->energy_symbol)
+		fprintf(gnuplot_file, "set ylabel \"Power (W)\"\n");
+	else if (options->gflops)
+		if (options->energy)
+			fprintf(gnuplot_file, "set ylabel \"GFlop/s/W\"\n");
 		else
 			fprintf(gnuplot_file, "set ylabel \"GFlop/s\"\n");
 	else
-		if (options->energy_symbol)
-			fprintf(gnuplot_file, "set ylabel \"Power (W)\"\n");
-		else if (options->energy)
+		if (options->energy)
 			fprintf(gnuplot_file, "set ylabel \"Energy (J)\"\n");
 		else
 			fprintf(gnuplot_file, "set ylabel \"Time (ms)\"\n");