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