set datafile separator "," set xtics 2000 set xtics rotate by -90 # 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 xtics 1000 #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_gfortran_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_gfortran_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_gfortran_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_gfortran_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 xtics 2000 #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_gfortran_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_gfortran_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_gfortran_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_gfortran_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 xtics 1000 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 cairolatex pdf size 5in,3in set output "f5_compilers_scaling.tex" set logscale y 10 set logscale x 10 set xtics 2000 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', \ # COMPILER FLAGS COMPARISON. GFORTRAN ONLY. LOOP ONLY. (FIGURE 6) #set terminal x11 persist set terminal cairolatex pdf size 5in,3in set output "f6_optflags_scaling.tex" set logscale y 10 set logscale x 10 set xtics 1000 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 'gfortran_rowloop_optflags.csv' using 1:2 with linespoints pt 7 ps 0.2 title 'GCC: O1', \ 'gfortran_rowloop_optflags.csv' using 1:3 with linespoints pt 7 ps 0.2 title 'GCC: O2', \ 'gfortran_rowloop_optflags.csv' using 1:4 with linespoints pt 7 ps 0.2 title 'GCC: O3', \ 'gfortran_rowloop_optflags.csv' using 1:5 with linespoints pt 7 ps 0.2 title 'GCC: Ofast', \ # COMPILER FLAGS COMPARISON. IFX ONLY. LOOP ONLY. (FIGURE 7) #set terminal x11 persist set terminal cairolatex pdf size 5in,3in set output "f7_optflags_scaling.tex" set logscale y 10 set logscale x 10 set xtics 1000 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_rowloop_optflags.csv' using 1:2 with linespoints pt 7 ps 0.2 title 'IFX: O1', \ 'ifx_rowloop_optflags.csv' using 1:3 with linespoints pt 7 ps 0.2 title 'IFX: O2', \ 'ifx_rowloop_optflags.csv' using 1:4 with linespoints pt 7 ps 0.2 title 'IFX: O3', \ 'ifx_rowloop_optflags.csv' using 1:5 with linespoints pt 7 ps 0.2 title 'IFX: Ofast', \