%
% Octave script
%
% Just replace your data with the data below, rename arrays,
% adjust array names in plot commands below, and then plug in
% the script to:
%
%   http://lavica.fesb.hr/octave/octave-on-line_en.php
%
% to graph your data.
%

blis_dgemm_nn_ccc_mnk   (   1, 1:5 ) = [    100   100   100   8.734   1.47e-16 ]; % PASS
blis_dgemm_nn_ccc_mnk   (   2, 1:5 ) = [    200   200   200   9.473   2.40e-16 ]; % PASS
blis_dgemm_nn_ccc_mnk   (   3, 1:5 ) = [    300   300   300   8.988   3.15e-16 ]; % PASS
blis_dgemm_nn_ccc_mnk   (   4, 1:5 ) = [    400   400   400   9.024   2.97e-16 ]; % PASS
blis_dgemm_nn_ccc_mnk   (   5, 1:5 ) = [    500   500   500   9.208   3.43e-16 ]; % PASS
blis_dgemm_nn_ccc_mnk   (   6, 1:5 ) = [    600   600   600   9.140   3.70e-16 ]; % PASS
blis_dgemm_nn_ccc_mnk   (   7, 1:5 ) = [    700   700   700   9.163   4.31e-16 ]; % PASS
blis_dgemm_nn_ccc_mnk   (   8, 1:5 ) = [    800   800   800   9.047   4.38e-16 ]; % PASS
blis_dgemm_nn_ccc_mnk   (   9, 1:5 ) = [    900   900   900   9.063   4.65e-16 ]; % PASS
blis_dgemm_nn_ccc_mnk   (  10, 1:5 ) = [   1000  1000  1000   9.147   5.23e-16 ]; % PASS

blis_dgemm_nn_ccc_k256  (   1, 1:5 ) = [    100   100   256   9.046   1.74e-16 ]; % PASS
blis_dgemm_nn_ccc_k256  (   2, 1:5 ) = [    200   200   256   9.301   2.27e-16 ]; % PASS
blis_dgemm_nn_ccc_k256  (   3, 1:5 ) = [    300   300   256   9.141   2.78e-16 ]; % PASS
blis_dgemm_nn_ccc_k256  (   4, 1:5 ) = [    400   400   256   9.118   3.27e-16 ]; % PASS
blis_dgemm_nn_ccc_k256  (   5, 1:5 ) = [    500   500   256   9.219   3.56e-16 ]; % PASS
blis_dgemm_nn_ccc_k256  (   6, 1:5 ) = [    600   600   256   9.297   3.95e-16 ]; % PASS
blis_dgemm_nn_ccc_k256  (   7, 1:5 ) = [    700   700   256   9.343   4.41e-16 ]; % PASS
blis_dgemm_nn_ccc_k256  (   8, 1:5 ) = [    800   800   256   9.261   4.85e-16 ]; % PASS
blis_dgemm_nn_ccc_k256  (   9, 1:5 ) = [    900   900   256   9.117   4.70e-16 ]; % PASS
blis_dgemm_nn_ccc_k256  (  10, 1:5 ) = [   1000  1000   256   9.088   4.76e-16 ]; % PASS

blis_dgemm_nn_ccc_k64   (   1, 1:5 ) = [    100   100    64   8.421   1.55e-16 ]; % PASS
blis_dgemm_nn_ccc_k64   (   2, 1:5 ) = [    200   200    64   8.889   2.58e-16 ]; % PASS
blis_dgemm_nn_ccc_k64   (   3, 1:5 ) = [    300   300    64   8.896   2.89e-16 ]; % PASS
blis_dgemm_nn_ccc_k64   (   4, 1:5 ) = [    400   400    64   8.380   3.04e-16 ]; % PASS
blis_dgemm_nn_ccc_k64   (   5, 1:5 ) = [    500   500    64   8.016   3.50e-16 ]; % PASS
blis_dgemm_nn_ccc_k64   (   6, 1:5 ) = [    600   600    64   7.926   3.68e-16 ]; % PASS
blis_dgemm_nn_ccc_k64   (   7, 1:5 ) = [    700   700    64   7.905   3.89e-16 ]; % PASS
blis_dgemm_nn_ccc_k64   (   8, 1:5 ) = [    800   800    64   7.891   4.84e-16 ]; % PASS
blis_dgemm_nn_ccc_k64   (   9, 1:5 ) = [    900   900    64   7.853   4.71e-16 ]; % PASS
blis_dgemm_nn_ccc_k64   (  10, 1:5 ) = [   1000  1000    64   7.743   4.98e-16 ]; % PASS

blis_dgemm_nn_ccc_k32   (   1, 1:5 ) = [    100   100    32   7.619   1.64e-16 ]; % PASS
blis_dgemm_nn_ccc_k32   (   2, 1:5 ) = [    200   200    32   8.127   1.99e-16 ]; % PASS
blis_dgemm_nn_ccc_k32   (   3, 1:5 ) = [    300   300    32   8.067   2.44e-16 ]; % PASS
blis_dgemm_nn_ccc_k32   (   4, 1:5 ) = [    400   400    32   7.568   3.07e-16 ]; % PASS
blis_dgemm_nn_ccc_k32   (   5, 1:5 ) = [    500   500    32   7.130   3.57e-16 ]; % PASS
blis_dgemm_nn_ccc_k32   (   6, 1:5 ) = [    600   600    32   6.927   4.06e-16 ]; % PASS
blis_dgemm_nn_ccc_k32   (   7, 1:5 ) = [    700   700    32   6.856   4.40e-16 ]; % PASS
blis_dgemm_nn_ccc_k32   (   8, 1:5 ) = [    800   800    32   6.818   4.38e-16 ]; % PASS
blis_dgemm_nn_ccc_k32   (   9, 1:5 ) = [    900   900    32   6.814   4.68e-16 ]; % PASS
blis_dgemm_nn_ccc_k32   (  10, 1:5 ) = [   1000  1000    32   6.738   4.68e-16 ]; % PASS


figure;
hold on;

% Set axis labels.
xlabel( "problem size" );
ylabel( "GFLOPS" );

% Set x-axis and y-axis limits.
axis( [0, 1000, 0, 10.64] );

% Move legend to bottom-right corner.
__gnuplot_set__ key bottom

% Add curves to plot. Note that "@" simply cycles through line markers.
plot( blis_dgemm_nn_ccc_k32( :, 1 ),  blis_dgemm_nn_ccc_k32( :, 4 ),  "r-@;dgemm k=32;"  );
plot( blis_dgemm_nn_ccc_k64( :, 1 ),  blis_dgemm_nn_ccc_k64( :, 4 ),  "b-@;dgemm k=64;"  );
plot( blis_dgemm_nn_ccc_k256( :, 1 ), blis_dgemm_nn_ccc_k256( :, 4 ), "g-@;dgemm k=256;" );
plot( blis_dgemm_nn_ccc_mnk( :, 1 ),  blis_dgemm_nn_ccc_mnk( :, 4 ),  "m-@;dgemm m=n=k;"  );




