summaryrefslogtreecommitdiff
path: root/report/figures
diff options
context:
space:
mode:
Diffstat (limited to 'report/figures')
-rw-r--r--report/figures/plots.gnu119
1 files changed, 119 insertions, 0 deletions
diff --git a/report/figures/plots.gnu b/report/figures/plots.gnu
new file mode 100644
index 0000000..ee56998
--- /dev/null
+++ b/report/figures/plots.gnu
@@ -0,0 +1,119 @@
+set datafile separator ","
+
+# SERIAL, O3, GFORTRAN-SPECIFIC RESULTS (FIGURE 1)
+
+#set terminal x11 0 title "Fig. 1 N-scaling" persist
+set terminal cairolatex pdf size 5in,3in
+set output "f1_n_scaling.tex"
+set logscale y 10
+set logscale x 10
+
+set xlabel "Size [$N \\times N$]"
+set ylabel "Wall Time [s]"
+
+set format y '$10^{%T}$'
+set offsets graph 0.05, graph 0.05, graph 0.05, graph 0.05
+set key bottom right
+set grid
+set xrange[70:15500]
+
+plot 'gfortran_O3_serial.csv' using 1:($2 > 0 ? $2 : 1/0) with linespoints pt 7 ps 0.2 title "Row loop", \
+ 'gfortran_O3_serial.csv' using 1:($3 > 0 ? $3 : 1/0) with linespoints pt 7 ps 0.2 title "Col loop",\
+ 'gfortran_O3_serial.csv' using 1:4 with linespoints pt 7 ps 0.2 title "Matmul", \
+ 'gfortran_O3_serial.csv' using 1:5 with linespoints pt 7 ps 0.2 title "DGEMM"
+
+
+# SERIAL, O3, COMPILER-DEPENDENT WALL TIMES (LOOPS ONLY) (FIGURE 2)
+
+#set terminal x11 1 title "Fig.2 Compiler" persist
+set terminal cairolatex pdf size 5in,3in
+set output "f2_compilers_scaling.tex"
+
+set logscale y 10
+set logscale x 10
+
+set xlabel "Size [$N \\times N$]"
+set ylabel "Wall Time [s]"
+
+set format y '$10^{%T}$'
+set offsets graph 0.05, graph 0.05, graph 0.05, graph 0.05
+set key bottom right
+set grid
+set xrange[70:5000]
+
+plot 'ifx_vs_fortran_O3_serial_results.csv' index 0 using 2:($3 > 0 ? $3 : 1/0) with linespoints pt 7 ps 0.2 title "GCC: Row loop", \
+ 'ifx_vs_fortran_O3_serial_results.csv' index 0 using 2:($4 > 0 ? $4 : 1/0) with linespoints pt 7 ps 0.2 title "GCC: Col loop", \
+ 'ifx_vs_fortran_O3_serial_results.csv' index 1 using 2:($3 > 0 ? $3 : 1/0) with linespoints pt 7 ps 0.2 title "IFX: Row loop", \
+ 'ifx_vs_fortran_O3_serial_results.csv' index 1 using 2:($4 > 0 ? $4 : 1/0) with linespoints pt 7 ps 0.2 title "IFX: Col loop", \
+
+
+# SERIAL, O3, COMPILER-DEPENDENT WALL TIMES (MATMUL/BLAS ONLY) (FIGURE 3)
+
+#set terminal x11 2 title "Fig.3 Compiler" persist
+set terminal cairolatex pdf size 5in,3in
+set output "f3_compilers_scaling.tex"
+
+set logscale y 10
+set logscale x 10
+
+set xlabel "Size [$N \\times N$]"
+set ylabel "Wall Time [s]"
+
+set format y '$10^{%T}$'
+set offsets graph 0.05, graph 0.05, graph 0.05, graph 0.05
+set key bottom right
+set grid
+set xrange[70:15500]
+
+plot 'ifx_vs_fortran_O3_serial_results.csv' index 0 using 2:($5 > 0 ? $5 : 1/0) with linespoints pt 7 ps 0.2 title 'GCC: \texttt{matmul}', \
+ 'ifx_vs_fortran_O3_serial_results.csv' index 0 using 2:($6 > 0 ? $6 : 1/0) with linespoints pt 7 ps 0.2 title 'GCC: OpenBLAS', \
+ 'ifx_vs_fortran_O3_serial_results.csv' index 1 using 2:($5 > 0 ? $5 : 1/0) with linespoints pt 7 ps 0.2 title 'IFX: \texttt{matmul}', \
+ 'ifx_vs_fortran_O3_serial_results.csv' index 1 using 2:($6 > 0 ? $6 : 1/0) with linespoints pt 7 ps 0.2 title 'IFX: MKL BLAS', \
+
+
+# PARALLEL, O3, COMPILER-DEPEDENT WALL TIMES. LOOPS ONLY (FIGURE 4)
+
+set terminal cairolatex pdf size 5in,3in
+set output "f4_compilers_scaling.tex"
+
+set logscale y 10
+set logscale x 10
+
+set xlabel "Size [$N \\times N$]"
+set ylabel "Wall Time [s]"
+
+set format y '$10^{%T}$'
+set offsets graph 0.05, graph 0.05, graph 0.05, graph 0.05
+set key bottom right
+set grid
+set xrange[70:5000]
+
+plot 'ifx_vs_gfortran_parallel_O3_results.csv' index 0 using 2:($3 > 0 ? $3 : 1/0) with linespoints pt 7 ps 0.2 title "GCC: Row loop", \
+ 'ifx_vs_gfortran_parallel_O3_results.csv' index 0 using 2:($4 > 0 ? $4 : 1/0) with linespoints pt 7 ps 0.2 title "GCC: Col loop", \
+ 'ifx_vs_gfortran_parallel_O3_results.csv' index 1 using 2:($3 > 0 ? $3 : 1/0) with linespoints pt 7 ps 0.2 title "IFX: Row loop", \
+ 'ifx_vs_gfortran_parallel_O3_results.csv' index 1 using 2:($4 > 0 ? $4 : 1/0) with linespoints pt 7 ps 0.2 title "IFX: Col loop", \
+
+
+
+# PARALLEL, O3, COMPILER-DEPENDENT WALL TIMES. MATMUL/BLAS ONLY (FIGURE 5)
+
+#set terminal x11 2 title "Fig.3 Compiler" persist
+set terminal cairolatex pdf size 5in,3in
+set output "f5_compilers_scaling.tex"
+
+set logscale y 10
+set logscale x 10
+
+set xlabel "Size [$N \\times N$]"
+set ylabel "Wall Time [s]"
+
+set format y '$10^{%T}$'
+set offsets graph 0.05, graph 0.05, graph 0.05, graph 0.05
+set key bottom right
+set grid
+set xrange[70:15500]
+
+plot 'ifx_vs_gfortran_parallel_O3_results.csv' index 0 using 2:($5 > 0 ? $5 : 1/0) with linespoints pt 7 ps 0.2 title 'GCC: \texttt{matmul}', \
+ 'ifx_vs_gfortran_parallel_O3_results.csv' index 0 using 2:($6 > 0 ? $6 : 1/0) with linespoints pt 7 ps 0.2 title 'GCC: OpenBLAS', \
+ 'ifx_vs_gfortran_parallel_O3_results.csv' index 1 using 2:($5 > 0 ? $5 : 1/0) with linespoints pt 7 ps 0.2 title 'IFX: \texttt{matmul}', \
+ 'ifx_vs_gfortran_parallel_O3_results.csv' index 1 using 2:($6 > 0 ? $6 : 1/0) with linespoints pt 7 ps 0.2 title 'IFX: MKL BLAS', \