mirror of
https://github.com/amd/blis.git
synced 2026-05-23 01:48:19 +00:00
Increased MT sup threshold for double to 201.
Details: - Fine-tuned the double-precision real MT threshold (which controls whether the sup implementation kicks for smaller m dimension values) from 180 to 201 for haswell and 180 to 256 for zen. - Updated octave scripts in test/sup/octave to include a seventh column to display performance for m = n = k.
This commit is contained in:
@@ -18,6 +18,7 @@ for io = 1:nops
|
||||
opsupnames( i+3, : ) = sprintf( '%s_%s_mpn%dk%d', op, stor, smalln, smallk );
|
||||
opsupnames( i+4, : ) = sprintf( '%s_%s_m%dnpk%d', op, stor, smallm, smallk );
|
||||
opsupnames( i+5, : ) = sprintf( '%s_%s_m%dn%dkp', op, stor, smallm, smalln );
|
||||
opsupnames( i+6, : ) = sprintf( '%s_%s_mpnpkp', op, stor );
|
||||
|
||||
opnames( i+0, : ) = sprintf( '%s', op );
|
||||
opnames( i+1, : ) = sprintf( '%s', op );
|
||||
@@ -25,8 +26,9 @@ for io = 1:nops
|
||||
opnames( i+3, : ) = sprintf( '%s', op );
|
||||
opnames( i+4, : ) = sprintf( '%s', op );
|
||||
opnames( i+5, : ) = sprintf( '%s', op );
|
||||
opnames( i+6, : ) = sprintf( '%s', op );
|
||||
|
||||
i = i + 6;
|
||||
i = i + 7;
|
||||
end
|
||||
|
||||
r_val1 = opsupnames;
|
||||
|
||||
@@ -18,7 +18,8 @@ else
|
||||
show_plot = 1;
|
||||
end
|
||||
|
||||
legend_plot_id = 11;
|
||||
%legend_plot_id = 11;
|
||||
legend_plot_id = 1*cols + 1*5;
|
||||
|
||||
if 1
|
||||
ax1 = subplot( rows, cols, theid );
|
||||
@@ -96,8 +97,8 @@ x_end = data_blissup( size( data_blissup, 1 ), psize_col );
|
||||
|
||||
x_axis( :, 1 ) = data_blissup( :, psize_col );
|
||||
|
||||
data_peak( 1, 1:2 ) = [ 0 max_perf_core ];
|
||||
data_peak( 2, 1:2 ) = [ x_end max_perf_core ];
|
||||
%data_peak( 1, 1:2 ) = [ 0 max_perf_core ];
|
||||
%data_peak( 2, 1:2 ) = [ x_end max_perf_core ];
|
||||
|
||||
if show_plot == 1
|
||||
blissup_ln = line( x_axis( :, 1 ), data_blissup( :, flopscol ) / nth, ...
|
||||
@@ -159,7 +160,7 @@ elseif 500 <= x_end && x_end < 1000
|
||||
end
|
||||
|
||||
if show_plot == 1 || theid == legend_plot_id
|
||||
if rows == 4 && cols == 6
|
||||
if rows == 4 && cols == 7
|
||||
if nth == 1 && theid == legend_plot_id
|
||||
leg = legend( ...
|
||||
[ ...
|
||||
@@ -180,7 +181,8 @@ if rows == 4 && cols == 6
|
||||
set( leg,'FontSize',fontsize ); %-3 );
|
||||
set( leg,'Units','inches' );
|
||||
% xpos ypos
|
||||
set( leg,'Position',[11.32 6.36 1.15 0.7 ] ); % (1,4tl)
|
||||
%set( leg,'Position',[11.32 6.36 1.15 0.7 ] ); % (1,4tl)
|
||||
set( leg,'Position',[11.92 6.54 1.15 0.7 ] ); % (1,4tl)
|
||||
elseif nth > 1 && theid == legend_plot_id
|
||||
end
|
||||
end
|
||||
@@ -204,18 +206,21 @@ if theid > (rows-1)*cols
|
||||
%tpos = get( xlab, 'Position' )
|
||||
%tpos(2) = tpos(2) + 10;
|
||||
%set( xlab, 'Position', tpos );
|
||||
if theid == rows*cols - 5
|
||||
xlab = xlabel( ax1, 'm = 6; n = k' );
|
||||
elseif theid == rows*cols - 4
|
||||
xlab = xlabel( ax1, 'n = 8; m = k' );
|
||||
elseif theid == rows*cols - 3
|
||||
xlab = xlabel( ax1, 'k = 4; m = n' );
|
||||
elseif theid == rows*cols - 2
|
||||
xlab = xlabel( ax1, 'm; n = 8, k = 4' );
|
||||
elseif theid == rows*cols - 1
|
||||
xlab = xlabel( ax1, 'n; m = 6, k = 4' );
|
||||
elseif theid == rows*cols - 0
|
||||
xlab = xlabel( ax1, 'k; m = 6, n = 8' );
|
||||
if theid == rows*cols - 6
|
||||
xlab = xlabel( ax1, 'm = 6; n = k' );
|
||||
elseif theid == rows*cols - 5
|
||||
xlab = xlabel( ax1, 'n = 8; m = k' );
|
||||
elseif theid == rows*cols - 4
|
||||
xlab = xlabel( ax1, 'k = 4; m = n' );
|
||||
elseif theid == rows*cols - 3
|
||||
xlab = xlabel( ax1, 'm; n = 8, k = 4' );
|
||||
elseif theid == rows*cols - 2
|
||||
xlab = xlabel( ax1, 'n; m = 6, k = 4' );
|
||||
elseif theid == rows*cols - 1
|
||||
xlab = xlabel( ax1, 'k; m = 6, n = 8' );
|
||||
elseif theid == rows*cols - 0
|
||||
xlab = xlabel( ax1, 'm = n = k' );
|
||||
end
|
||||
end
|
||||
|
||||
if mod(theid-1,cols) == 0
|
||||
|
||||
@@ -45,15 +45,15 @@ n_opsupnames = size( opsupnames, 1 );
|
||||
|
||||
if 1 == 1
|
||||
%fig = figure('Position', [100, 100, 2400, 1500]);
|
||||
fig = figure('Position', [100, 100, 1600, 1000]);
|
||||
fig = figure('Position', [100, 100, 1860, 1000]);
|
||||
orient( fig, 'portrait' );
|
||||
set(gcf,'PaperUnits', 'inches');
|
||||
if 0 == 1 % matlab
|
||||
set(gcf,'PaperSize', [11 15.0]);
|
||||
set(gcf,'PaperPosition', [0 0 11 15.0]);
|
||||
set(gcf,'PaperSize', [11 17.5]);
|
||||
set(gcf,'PaperPosition', [0 0 11 17.5]);
|
||||
set(gcf,'PaperPositionMode','manual');
|
||||
else % octave 4.x
|
||||
set(gcf,'PaperSize', [10 15.0]);
|
||||
set(gcf,'PaperSize', [10 17.5]);
|
||||
set(gcf,'PaperPositionMode','auto');
|
||||
end
|
||||
set(gcf,'PaperOrientation','landscape');
|
||||
@@ -120,10 +120,18 @@ for opi = 1:n_opsupnames
|
||||
data_open, ...
|
||||
data_vend, vend_str, ...
|
||||
nth, ...
|
||||
4, 6, ...
|
||||
4, 7, ...
|
||||
cfreq, ...
|
||||
dflopspercycle, ...
|
||||
opi );
|
||||
|
||||
clear data_st_?gemm_*
|
||||
clear data_blissup;
|
||||
clear data_blislpab;
|
||||
clear data_eigen;
|
||||
clear data_open;
|
||||
clear data_vend;
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user