diff options
| author | Connor Moore <connor@hhmoore.ca> | 2026-02-04 23:58:05 -0500 |
|---|---|---|
| committer | Connor Moore <connor@hhmoore.ca> | 2026-02-04 23:58:05 -0500 |
| commit | ec3c5a4856629d626236d9b12e3077c46e907b8f (patch) | |
| tree | 28453220c6cf837ebd1ffd7b3528d443dc08ebb5 /report/figures | |
| parent | e771927d4b8c5b32acf28774161c5d2b0c4f32bf (diff) | |
Added compiler comparison to report. Restructured plots. Added
automation for concatenating results into one big csv.
Diffstat (limited to 'report/figures')
| -rw-r--r-- | report/figures/plots.gnu | 119 |
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', \ |
