1axes1 = subplot(4, 4, 1);
2hold(axes1,'on');
3
4axes2 = subplot(4, 4, 5);
5hold(axes2,'on');
6
7axes3 = subplot(4, 4, 9);
8hold(axes3,'on');
9
10axes4 = subplot(4, 4, 13);
11hold(axes4,'on');
12
13addpath(pathname_blis)
14
15
16if(plot_s)
17    % SGEMM multi threaded
18    axes(axes1);
19    output_mt_sgemm_asm_blis
20    plot(data_mt_sgemm_asm_blis(:,1), data_mt_sgemm_asm_blis(:,4), 'LineWidth', 1.25,'Color', [0 0 1]);
21end
22% DGEMM multi threaded
23
24if(plot_d)
25
26    axes(axes2);
27    output_mt_dgemm_asm_blis
28    plot(data_mt_dgemm_asm_blis(:,1), data_mt_dgemm_asm_blis(:,4), 'LineWidth', 1.25,'Color', [0 0 1]);
29end
30
31% CGEMM multi threaded
32
33if(plot_c)
34    axes(axes3);
35    output_mt_cgemm_1m_blis
36    plot(data_mt_cgemm_1m_blis(:,1), data_mt_cgemm_1m_blis(:,4), 'LineWidth', 1.25,'Color', [0 0 1]);
37end
38
39% ZGEMM multi threaded
40
41if(plot_z)
42    axes(axes4);
43    output_mt_zgemm_1m_blis
44    plot(data_mt_zgemm_1m_blis(:,1), data_mt_zgemm_1m_blis(:,4), 'LineWidth', 1.25,'Color', [0 0 1]);
45end
46
47clear *gemm*
48rmpath(pathname_blis)
49
50
51% OpenBLAS
52
53addpath(pathname_openblas)
54
55if(plot_s)
56    axes(axes1);
57    output_mt_sgemm_openblas
58    plot(data_mt_sgemm_openblas(:,1), data_mt_sgemm_openblas(:,4), 'LineWidth', 1.25,'Color', [0 1 0]);
59end
60
61if(plot_d)
62    axes(axes2);
63    output_mt_dgemm_openblas
64    plot(data_mt_dgemm_openblas(:,1), data_mt_dgemm_openblas(:,4), 'LineWidth', 1.25,'Color', [0 1 0]);
65end
66
67if(plot_c)
68    axes(axes3);
69    output_mt_cgemm_openblas
70    plot(data_mt_cgemm_openblas(:,1), data_mt_cgemm_openblas(:,4), 'LineWidth', 1.25,'Color', [0 1 0]);
71end
72
73if(plot_z)
74    axes(axes4);
75    output_mt_zgemm_openblas
76    plot(data_mt_zgemm_openblas(:,1), data_mt_zgemm_openblas(:,4), 'LineWidth', 1.25,'Color', [0 1 0]);
77end
78
79clear *gemm*
80rmpath(pathname_openblas)
81
82% ARMPL
83
84addpath(pathname_armpl)
85
86if(plot_s)
87    axes(axes1);
88    output_mt_sgemm_armpl
89    plot(data_mt_sgemm_armpl(:,1), data_mt_sgemm_armpl(:,4), '--', 'LineWidth', 1.25,'Color', [1 0 1]);
90end
91
92
93if(plot_d)
94    axes(axes2);
95    output_mt_dgemm_armpl
96    plot(data_mt_dgemm_armpl(:,1), data_mt_dgemm_armpl(:,4), '--',  'LineWidth', 1.25,'Color', [1 0 1]);
97end
98
99if(plot_c)
100    axes(axes3);
101    output_mt_cgemm_armpl
102    plot(data_mt_cgemm_armpl(:,1), data_mt_cgemm_armpl(:,4), '--', 'LineWidth', 1.25,'Color', [1 0 1]);
103end
104
105if(plot_z)
106    axes(axes4);
107    output_mt_zgemm_armpl
108    plot(data_mt_zgemm_armpl(:,1), data_mt_zgemm_armpl(:,4), '--', 'LineWidth', 1.25,'Color', [1 0 1]);
109end
110
111clear *gemm*
112rmpath(pathname_armpl)
113
114axes(axes1);
115ylabel( 'GFLOPS', 'FontSize', fontsize, 'FontWeight', 'bold', 'FontName', 'Helvetica Neue');
116%xlabel( 'matrix dimension m=n=k', 'FontSize', fontsize, 'FontWeight', 'bold', 'FontName', 'Helvetica Neue' );
117title('SGEMM (multi-threaded)','FontSize', fontsize, 'FontWeight', 'bold', 'FontName', 'Helvetica Neue');
118box(axes1,'on');
119set(axes1,'FontSize', fontsize, 'FontWeight', 'bold', 'FontName', 'Helvetica Neue');
120v = axis;     % extract the current ranges
121axis( [ 0 xmax_mt 0 speak*numcores] )
122
123axes(axes2);
124ylabel( 'GFLOPS', 'FontSize', fontsize, 'FontWeight', 'bold', 'FontName', 'Helvetica Neue');
125%xlabel( 'matrix dimension m=n=k', 'FontSize', fontsize, 'FontWeight', 'bold', 'FontName', 'Helvetica Neue' );
126title('DGEMM (multi-threaded)','FontSize', fontsize, 'FontWeight', 'bold', 'FontName', 'Helvetica Neue');
127box(axes2,'on');
128set(axes2,'FontSize', fontsize, 'FontWeight', 'bold', 'FontName', 'Helvetica Neue');
129%legend({'BLIS', 'OpenBLAS', 'ARMPL'},'FontSize', fontsize, 'FontWeight', 'bold', 'FontName', 'Helvetica Neue', 'Location', 'best');
130v = axis;     % extract the current ranges
131axis( [ 0 xmax_mt 0 dpeak*numcores ] )
132
133axes(axes3);
134ylabel( 'GFLOPS', 'FontSize', fontsize, 'FontWeight', 'bold', 'FontName', 'Helvetica Neue');
135%xlabel( 'matrix dimension m=n=k', 'FontSize', fontsize, 'FontWeight', 'bold', 'FontName', 'Helvetica Neue' );
136title('CGEMM (multi-threaded)','FontSize', fontsize, 'FontWeight', 'bold', 'FontName', 'Helvetica Neue');
137box(axes3,'on');
138set(axes3,'FontSize', fontsize, 'FontWeight', 'bold', 'FontName', 'Helvetica Neue');
139v = axis;     % extract the current ranges
140axis( [ 0 xmax_mt 0 speak*numcores ] )
141
142axes(axes4);
143ylabel( 'GFLOPS', 'FontSize', fontsize, 'FontWeight', 'bold', 'FontName', 'Helvetica Neue');
144xlabel( 'matrix dimension m=n=k', 'FontSize', fontsize, 'FontWeight', 'bold', 'FontName', 'Helvetica Neue' );
145title('ZGEMM (multi-threaded)','FontSize', fontsize, 'FontWeight', 'bold', 'FontName', 'Helvetica Neue');
146box(axes4,'on');
147set(axes4,'FontSize', fontsize, 'FontWeight', 'bold', 'FontName', 'Helvetica Neue');
148%legend({'BLIS', 'OpenBLAS', 'MKL'},'FontSize', fontsize, 'FontWeight', 'bold', 'FontName', 'Helvetica Neue', 'Location', 'South');
149v = axis;     % extract the current ranges
150axis( [ 0 xmax_mt 0 dpeak*numcores ] )
151
152
153
154