summaryrefslogtreecommitdiff
path: root/report/figures/plots.gnu
blob: ee56998e95825a5826de56ce2cda08f922965760 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
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', \