diff options
author | Andreas Müller <andreas.mueller@ost.ch> | 2021-08-12 09:20:10 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-12 09:20:10 +0200 |
commit | 650bc249248c5f2ce6ca6288766a35a76437ed19 (patch) | |
tree | 573728c63e80a25884128c247770a214f1f481a7 /buch/papers/multiplikation/code | |
parent | Merge pull request #83 from rfritsche/mceliece (diff) | |
parent | typo (diff) | |
download | SeminarMatrizen-650bc249248c5f2ce6ca6288766a35a76437ed19.tar.gz SeminarMatrizen-650bc249248c5f2ce6ca6288766a35a76437ed19.zip |
Merge pull request #84 from Nunigan/master
Multiplikation #4
Diffstat (limited to 'buch/papers/multiplikation/code')
29 files changed, 811 insertions, 155 deletions
diff --git a/buch/papers/multiplikation/code/MM b/buch/papers/multiplikation/code/MM Binary files differdeleted file mode 100755 index d52dda4..0000000 --- a/buch/papers/multiplikation/code/MM +++ /dev/null diff --git a/buch/papers/multiplikation/code/MM.c b/buch/papers/multiplikation/code/MM.c index a897d4f..2588262 100755 --- a/buch/papers/multiplikation/code/MM.c +++ b/buch/papers/multiplikation/code/MM.c @@ -28,11 +28,12 @@ int main() { // omp_set_num_threads(4);
// run_algo(openMP_MM, "openMP_MM",0);
run_algo(MM_dc, "MM_dc",0);
+
run_algo(strassen, "strassen",0);
run_algo(MM, "MM", 0);
- run_algo(winograd, "winograd", 0);
- run_algo_cblas(0);
+ run_algo(winograd, "winograd", 0);
+ run_algo_cblas(0);
return 0;
}
@@ -414,12 +415,12 @@ void run_algo(void (*algo)(), char alog_name[], int print) for(int i=0; i<n_arrays; ++i)
{
- for(int j = 0; j<1; ++j)
+ for(int j = 0; j<10; ++j)
{
- int *C = (int*) malloc(n[i] * n[i] * sizeof(int));
- double dtime = omp_get_wtime();
- algo(Ap[i], Bp[i], (int*) C, n[i]);
- dtime = omp_get_wtime() - dtime;
+ int *C = (int*) malloc(n[i] * n[i] * sizeof(int));
+ double dtime = omp_get_wtime();
+ algo(Ap[i], Bp[i], (int*) C, n[i]);
+ dtime = omp_get_wtime() - dtime;
// printf("The %s program took %f seconds to execute \n", alog_name, dtime);
fprintf(fptr, "%f,%d\n", dtime, n[i]);
@@ -428,7 +429,7 @@ void run_algo(void (*algo)(), char alog_name[], int print) printMatrix((int*)C, n[i]);
}
free(C);
- }
+ }
}
fclose(fptr);
@@ -442,7 +443,7 @@ void run_algo_cblas(int print) fptr = fopen("meas/blas.txt", "w");
for(int i=0; i<n_arrays; ++i)
{
- for(int j = 0; j<1; ++j)
+ for(int j = 0; j<10; ++j)
{
double *dC = (double*) malloc(n[i] * n[i] * sizeof(double));
double dtime = omp_get_wtime();
diff --git a/buch/papers/multiplikation/code/MM.py b/buch/papers/multiplikation/code/MM.py index 7220ae1..8057850 100644 --- a/buch/papers/multiplikation/code/MM.py +++ b/buch/papers/multiplikation/code/MM.py @@ -5,6 +5,7 @@ Created on Fri Mar 19 07:31:29 2021 @author: nunigan """ +import scipy.stats import numpy as np import time import matplotlib.pyplot as plt @@ -133,9 +134,6 @@ def winograd2(A, B): def test_perfomance(n): - import mkl - mkl.set_num_threads(1) - t_mm = [] t_mm_dc = [] t_mm_strassen = [] @@ -148,21 +146,21 @@ def test_perfomance(n): # A = np.random.randint(-100, 100,(i, i)) # B = np.random.randint(-100, 100,(i, i)) - # start = time.time() - # C3 = strassen(A, B) - # t_mm_strassen.append(time.time() - start) + start = time.time() + C3 = strassen(A, B) + t_mm_strassen.append(time.time() - start) - # start = time.time() - # C1 = MM(A, B) - # t_mm.append(time.time() - start) + start = time.time() + C1 = MM(A, B) + t_mm.append(time.time() - start) - # start = time.time() - # C2 = MM_dc(A, B) - # t_mm_dc.append(time.time() - start) + start = time.time() + C2 = MM_dc(A, B) + t_mm_dc.append(time.time() - start) - # start = time.time() - # C4 = winograd2(A, B) - # t_wino.append(time.time() - start) + start = time.time() + C4 = winograd2(A, B) + t_wino.append(time.time() - start) start = time.time() C = A@B @@ -173,10 +171,10 @@ def test_perfomance(n): plt.rc('axes', labelsize=23) plt.rc('xtick', labelsize=23) plt.rc('ytick', labelsize=23) - # plt.plot(n, t_mm, label='Standard', lw=5) - # plt.plot(n, t_mm_dc, label='Divide and conquer', lw=5) - # plt.plot(n, t_mm_strassen, label='Strassen', lw=5) - # plt.plot(n, t_wino, label='Winograd', lw=5) + plt.plot(n, t_mm, label='Standard', lw=5) + plt.plot(n, t_mm_dc, label='Divide and conquer', lw=5) + plt.plot(n, t_mm_strassen, label='Strassen', lw=5) + plt.plot(n, t_wino, label='Winograd', lw=5) plt.plot(n, t_np, label='NumPy A@B', lw=5) # plt.xscale('log', base=2) plt.legend() @@ -186,9 +184,9 @@ def test_perfomance(n): plt.tight_layout() # plt.yscale('log') plt.legend(fontsize=19) - # plt.savefig('meas_' + str(max(n))+ '.pdf') - # arr = np.array([n, t_mm, t_mm_dc, t_mm_strassen, t_wino, t_np]) - # np.savetxt('meas_' + str(max(n))+ '.txt',arr) + plt.savefig('meas_' + str(max(n))+ '.pdf') + arr = np.array([n, t_mm, t_mm_dc, t_mm_strassen, t_wino, t_np]) + np.savetxt('meas_' + str(max(n))+ '.txt',arr) return t_np @@ -249,6 +247,8 @@ def plot_c_res(ave, num): # blas_t = np.mean(blas_t.reshape(-1,ave),axis=1) # blas_n = np.mean(blas_n.reshape(-1,ave),axis=1) + + def func(x, a,b): return b*x**a @@ -261,11 +261,11 @@ def plot_c_res(ave, num): plt.rc('axes', labelsize=23) plt.rc('xtick', labelsize=23) plt.rc('ytick', labelsize=23) - plt.loglog(MM_n, MM_t, label='3 For Loops', lw=5) - plt.loglog(winograd_n, winograd_t, label='Winograd MM', lw=5) - plt.loglog(blas_n, blas_t, label='Blas', lw=5) - plt.loglog(strassen_n, strassen_t, label='Strassen', lw=5) - plt.loglog(MM_dc_n, MM_dc_t, label='Divide and Conquer', lw=5) + plt.loglog(MM_n, MM_t, '.', label='3 For Loops', lw=5) + plt.loglog(winograd_n, winograd_t, '.', label='Winograd MM', lw=5) + plt.loglog(blas_n, blas_t, '.', label='Blas', lw=5) + plt.loglog(strassen_n, strassen_t, '.', label='Strassen', lw=5) + plt.loglog(MM_dc_n, MM_dc_t, '.', label='Divide and Conquer', lw=5) plt.xlabel("n") # plt.yscale('log', base=10) # plt.xscale('log', base=2) @@ -281,16 +281,33 @@ def plot_c_res(ave, num): plt.legend() # return [MM_n,winograd_n,blas_n,strassen_n,MM_dc_n] + + return [MM_t,winograd_t,blas_t,strassen_t,MM_dc_t] +def mean_confidence_interval(data, confidence=0.95): + a = 1.0 * np.array(data) + n = len(a) + m, se = np.mean(a), scipy.stats.sem(a) + h = se * scipy.stats.t.ppf((1 + confidence) / 2., n-1) + return m, h + # test%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if __name__ == '__main__': - # A = plot_c_res(1, 4096) - - - arr = plot(1024) + # A = plot_c_res(10, 4096) + # name = ['MM', 'Wino', 'blas', 'strassen', 'dc'] + # for i in range(5): + # ci_inner = [] + # print(name[i]) + # for j in range(11): + # m,h=mean_confidence_interval(A[i][j*10:(j+1)*10]) + # print("({},{})".format(2**(j+1),m)) + # np.savetxt('meas/ci/' + name[i]+'.txt',ci_inner) + + arr = plot(4096) # n = np.logspace(1,12,12,base=2,dtype=(np.int)) + # n=[2048,4096] # n = np.arange(1,50,2) # A = np.random.randint(-10, 6, (5,3)) # B = np.random.randint(-10, 6, (3,5)) diff --git a/buch/papers/multiplikation/code/c_matrix.h b/buch/papers/multiplikation/code/c_matrix.h index 14389fc..63d5390 100644 --- a/buch/papers/multiplikation/code/c_matrix.h +++ b/buch/papers/multiplikation/code/c_matrix.h @@ -1,101 +1,177 @@ -/* Seminar Matrizen, autogenerated File, Michael Schmid, 02/08/2021, 22:48:43 */ +/* Seminar Matrizen, autogenerated File, Michael Schmid, 10/08/2021, 05:46:32 */ #include <stdint.h> const int A0[][2] = { - {75,47}, - {-41,-24} + {60,-84}, + {-66,-1} }; const int B0[][2] = { - {-53,-95}, - {-93,30} + {-45,87}, + {-38,-73} }; const double dB0[][2] = { - {-53,-95}, - {-93,30} + {-45,87}, + {-38,-73} }; const double dA0[][2] = { - {75,47}, - {-41,-24} + {60,-84}, + {-66,-1} }; const int A1[][4] = { - {47,11,-66,8}, - {36,98,39,82}, - {-32,12,40,-79}, - {61,-20,-85,-98} + {-72,-19,-91,62}, + {-36,-74,-44,-47}, + {-39,-31,50,-93}, + {-81,2,-17,-86} }; const int B1[][4] = { - {37,75,-53,9}, - {37,-33,-67,38}, - {70,39,-93,43}, - {43,41,23,-4} + {-66,39,-23,52}, + {-88,-13,13,-13}, + {-45,-70,28,-20}, + {96,5,88,96} }; const double dB1[][4] = { - {37,75,-53,9}, - {37,-33,-67,38}, - {70,39,-93,43}, - {43,41,23,-4} + {-66,39,-23,52}, + {-88,-13,13,-13}, + {-45,-70,28,-20}, + {96,5,88,96} }; const double dA1[][4] = { - {47,11,-66,8}, - {36,98,39,82}, - {-32,12,40,-79}, - {61,-20,-85,-98} + {-72,-19,-91,62}, + {-36,-74,-44,-47}, + {-39,-31,50,-93}, + {-81,2,-17,-86} }; const int A2[][8] = { - {-54,-87,87,69,52,-21,-86,55}, - {19,-75,-61,-50,-55,-23,66,-92}, - {-73,-67,-36,19,84,-11,24,46}, - {-98,62,-76,57,-100,6,-23,-51}, - {62,46,1,-64,42,-9,85,-12}, - {35,-59,-17,-47,78,86,-50,74}, - {-15,45,33,-59,-9,-81,49,96}, - {-57,22,-43,7,-30,-45,-5,13} + {-36,-2,-58,-32,34,-89,49,-55}, + {-68,-73,52,-3,-51,-37,-31,70}, + {73,-90,-21,-79,-15,96,-99,12}, + {68,-25,38,-73,-60,35,-99,72}, + {-43,-87,48,-84,-100,37,80,53}, + {-27,88,-5,-82,-57,-27,20,10}, + {-91,-47,54,-90,-99,-76,50,-18}, + {69,-36,76,5,-67,-38,-95,91} }; const int B2[][8] = { - {-71,-82,-80,-78,83,-97,48,-24}, - {15,75,15,-60,-63,-53,1,-50}, - {-84,63,67,-2,78,93,-13,95}, - {61,-26,-88,56,56,27,26,1}, - {2,54,21,36,9,-41,53,53}, - {85,-11,42,-51,-6,3,27,97}, - {10,-2,90,-76,-75,0,8,-37}, - {10,-64,47,-69,66,-50,89,-66} + {-84,22,-13,-66,-42,51,66,0}, + {37,-65,66,-85,-10,-23,77,5}, + {1,41,-79,0,63,-37,-10,29}, + {72,66,-99,92,-28,65,25,-40}, + {69,-49,65,-18,64,-97,-47,30}, + {36,86,66,-12,-17,89,1,-37}, + {-100,11,27,23,-75,-23,96,-9}, + {68,90,-87,-99,-70,-28,98,-76} }; const double dB2[][8] = { - {-71,-82,-80,-78,83,-97,48,-24}, - {15,75,15,-60,-63,-53,1,-50}, - {-84,63,67,-2,78,93,-13,95}, - {61,-26,-88,56,56,27,26,1}, - {2,54,21,36,9,-41,53,53}, - {85,-11,42,-51,-6,3,27,97}, - {10,-2,90,-76,-75,0,8,-37}, - {10,-64,47,-69,66,-50,89,-66} + {-84,22,-13,-66,-42,51,66,0}, + {37,-65,66,-85,-10,-23,77,5}, + {1,41,-79,0,63,-37,-10,29}, + {72,66,-99,92,-28,65,25,-40}, + {69,-49,65,-18,64,-97,-47,30}, + {36,86,66,-12,-17,89,1,-37}, + {-100,11,27,23,-75,-23,96,-9}, + {68,90,-87,-99,-70,-28,98,-76} }; const double dA2[][8] = { - {-54,-87,87,69,52,-21,-86,55}, - {19,-75,-61,-50,-55,-23,66,-92}, - {-73,-67,-36,19,84,-11,24,46}, - {-98,62,-76,57,-100,6,-23,-51}, - {62,46,1,-64,42,-9,85,-12}, - {35,-59,-17,-47,78,86,-50,74}, - {-15,45,33,-59,-9,-81,49,96}, - {-57,22,-43,7,-30,-45,-5,13} - }; -const int *Ap[3] = {(int*) A0,(int*) A1,(int*) A2}; -const int *Bp[3] = {(int*) B0,(int*) B1,(int*) B2}; -const double *dAp[3] = {(double*) dA0,(double*) dA1,(double*) dA2}; -const double *dBp[3] = {(double*) dB0,(double*) dB1,(double*) dB2}; -int n[3] = {2,4,8}; -int n_arrays = 3; + {-36,-2,-58,-32,34,-89,49,-55}, + {-68,-73,52,-3,-51,-37,-31,70}, + {73,-90,-21,-79,-15,96,-99,12}, + {68,-25,38,-73,-60,35,-99,72}, + {-43,-87,48,-84,-100,37,80,53}, + {-27,88,-5,-82,-57,-27,20,10}, + {-91,-47,54,-90,-99,-76,50,-18}, + {69,-36,76,5,-67,-38,-95,91} + }; +const int A3[][16] = + { + {-24,65,21,19,94,70,-90,-81,53,-41,-23,-1,58,-80,-54,59}, + {-42,76,-19,98,29,-56,92,14,45,11,82,83,48,-13,81,66}, + {43,-57,-67,95,5,72,11,0,-47,55,-24,36,84,54,-31,-54}, + {-39,-40,19,97,-82,-56,27,95,81,-21,-50,-74,-35,-87,-28,-26}, + {-74,-98,79,92,-24,-48,99,94,55,-83,70,98,-24,18,-67,14}, + {20,76,11,-23,-56,21,0,42,64,86,-74,44,93,-76,-30,97}, + {13,20,-73,-11,-30,80,53,-8,60,21,17,-42,82,-72,-6,-80}, + {36,-93,-64,-21,20,-85,15,24,99,81,-52,64,71,-56,52,63}, + {32,9,-2,-85,17,62,-98,-35,75,-58,-44,-20,-47,89,-95,52}, + {93,-43,86,68,-6,-25,90,57,60,-10,65,-97,43,46,-60,-41}, + {43,-33,0,50,-100,26,-60,95,39,-70,-61,-81,9,-23,-99,-4}, + {20,61,15,43,-96,93,-55,38,-29,-1,-10,26,-87,18,64,6}, + {-98,-84,51,16,-14,86,52,59,44,-39,-2,10,82,-66,54,19}, + {89,-49,-37,-6,-53,40,-11,46,-51,-56,86,34,11,13,-20,-49}, + {-90,14,28,-45,-25,-56,-51,-61,28,-8,51,91,95,-10,-85,58}, + {8,-44,88,-71,-27,11,89,37,86,-78,-44,-56,-87,0,-42,-61} + }; +const int B3[][16] = + { + {62,-30,62,92,29,-93,-95,44,-33,-88,-29,9,-88,-42,-90,-70}, + {60,37,-44,-93,-87,6,-53,2,-29,53,-49,59,6,83,-15,50}, + {-19,85,-49,-14,84,-4,12,88,-83,-81,-24,-16,-12,-42,-63,-71}, + {-42,-78,-58,-61,-29,67,-28,-46,64,7,6,-13,88,-42,95,-24}, + {-90,-56,8,-30,-89,70,37,-29,24,-8,-10,-2,-25,-63,-95,-91}, + {10,-81,42,-28,-13,-68,-72,-20,-22,5,-79,-50,-88,62,57,69}, + {-67,24,-71,-43,11,48,33,-93,-82,-65,-4,5,-15,25,-54,-45}, + {-49,19,-29,90,-97,-87,78,-39,-75,-85,-79,-35,54,3,-73,7}, + {-7,39,70,-42,32,-100,56,4,-24,-57,38,-49,-50,-44,79,-42}, + {37,-65,-55,22,-97,-42,-76,95,97,-27,38,11,0,-81,-23,35}, + {26,-70,10,-29,47,-70,-52,29,-13,-18,5,34,18,32,87,91}, + {-84,41,-19,96,-51,-19,81,75,81,92,2,-40,-42,-69,-10,-61}, + {-30,98,71,-51,91,-59,58,86,86,-22,-84,7,66,-55,-52,23}, + {-71,-44,-9,90,26,18,26,-10,-85,64,-47,3,72,81,74,-8}, + {52,-59,-91,22,8,-63,84,9,-11,-54,-78,-71,-98,42,96,57}, + {18,-39,34,-50,-62,-96,-2,-78,52,94,-33,2,-19,-9,-86,-75} + }; +const double dB3[][16] = + { + {62,-30,62,92,29,-93,-95,44,-33,-88,-29,9,-88,-42,-90,-70}, + {60,37,-44,-93,-87,6,-53,2,-29,53,-49,59,6,83,-15,50}, + {-19,85,-49,-14,84,-4,12,88,-83,-81,-24,-16,-12,-42,-63,-71}, + {-42,-78,-58,-61,-29,67,-28,-46,64,7,6,-13,88,-42,95,-24}, + {-90,-56,8,-30,-89,70,37,-29,24,-8,-10,-2,-25,-63,-95,-91}, + {10,-81,42,-28,-13,-68,-72,-20,-22,5,-79,-50,-88,62,57,69}, + {-67,24,-71,-43,11,48,33,-93,-82,-65,-4,5,-15,25,-54,-45}, + {-49,19,-29,90,-97,-87,78,-39,-75,-85,-79,-35,54,3,-73,7}, + {-7,39,70,-42,32,-100,56,4,-24,-57,38,-49,-50,-44,79,-42}, + {37,-65,-55,22,-97,-42,-76,95,97,-27,38,11,0,-81,-23,35}, + {26,-70,10,-29,47,-70,-52,29,-13,-18,5,34,18,32,87,91}, + {-84,41,-19,96,-51,-19,81,75,81,92,2,-40,-42,-69,-10,-61}, + {-30,98,71,-51,91,-59,58,86,86,-22,-84,7,66,-55,-52,23}, + {-71,-44,-9,90,26,18,26,-10,-85,64,-47,3,72,81,74,-8}, + {52,-59,-91,22,8,-63,84,9,-11,-54,-78,-71,-98,42,96,57}, + {18,-39,34,-50,-62,-96,-2,-78,52,94,-33,2,-19,-9,-86,-75} + }; +const double dA3[][16] = + { + {-24,65,21,19,94,70,-90,-81,53,-41,-23,-1,58,-80,-54,59}, + {-42,76,-19,98,29,-56,92,14,45,11,82,83,48,-13,81,66}, + {43,-57,-67,95,5,72,11,0,-47,55,-24,36,84,54,-31,-54}, + {-39,-40,19,97,-82,-56,27,95,81,-21,-50,-74,-35,-87,-28,-26}, + {-74,-98,79,92,-24,-48,99,94,55,-83,70,98,-24,18,-67,14}, + {20,76,11,-23,-56,21,0,42,64,86,-74,44,93,-76,-30,97}, + {13,20,-73,-11,-30,80,53,-8,60,21,17,-42,82,-72,-6,-80}, + {36,-93,-64,-21,20,-85,15,24,99,81,-52,64,71,-56,52,63}, + {32,9,-2,-85,17,62,-98,-35,75,-58,-44,-20,-47,89,-95,52}, + {93,-43,86,68,-6,-25,90,57,60,-10,65,-97,43,46,-60,-41}, + {43,-33,0,50,-100,26,-60,95,39,-70,-61,-81,9,-23,-99,-4}, + {20,61,15,43,-96,93,-55,38,-29,-1,-10,26,-87,18,64,6}, + {-98,-84,51,16,-14,86,52,59,44,-39,-2,10,82,-66,54,19}, + {89,-49,-37,-6,-53,40,-11,46,-51,-56,86,34,11,13,-20,-49}, + {-90,14,28,-45,-25,-56,-51,-61,28,-8,51,91,95,-10,-85,58}, + {8,-44,88,-71,-27,11,89,37,86,-78,-44,-56,-87,0,-42,-61} + }; +const int *Ap[4] = {(int*) A0,(int*) A1,(int*) A2,(int*) A3}; +const int *Bp[4] = {(int*) B0,(int*) B1,(int*) B2,(int*) B3}; +const double *dAp[4] = {(double*) dA0,(double*) dA1,(double*) dA2,(double*) dA3}; +const double *dBp[4] = {(double*) dB0,(double*) dB1,(double*) dB2,(double*) dB3}; +int n[4] = {2,4,8,16}; +int n_arrays = 4; diff --git a/buch/papers/multiplikation/code/c_meas_4096.pdf b/buch/papers/multiplikation/code/c_meas_4096.pdf Binary files differindex 5236afb..f637ae4 100644 --- a/buch/papers/multiplikation/code/c_meas_4096.pdf +++ b/buch/papers/multiplikation/code/c_meas_4096.pdf diff --git a/buch/papers/multiplikation/code/ci.txt b/buch/papers/multiplikation/code/ci.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/buch/papers/multiplikation/code/ci.txt diff --git a/buch/papers/multiplikation/code/helper_class.py b/buch/papers/multiplikation/code/helper_class.py index 485fa76..3b74f67 100755 --- a/buch/papers/multiplikation/code/helper_class.py +++ b/buch/papers/multiplikation/code/helper_class.py @@ -101,5 +101,6 @@ if __name__ == '__main__': helper = Helper() # n = np.arange(2,10) - n = np.logspace(1,3,3,base=2,dtype=(np.int)) - C = helper.write_c_matrix(n) + n = np.logspace(1,11,11,base=2,dtype=(np.int)) + # n=[8192] + # C = helper.write_c_matrix(n) diff --git a/buch/papers/multiplikation/code/meas/MM.txt b/buch/papers/multiplikation/code/meas/MM.txt index e296dd7..7bffb6e 100644 --- a/buch/papers/multiplikation/code/meas/MM.txt +++ b/buch/papers/multiplikation/code/meas/MM.txt @@ -1,12 +1,110 @@ -0.000001,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 0.000001,4 +0.000000,4 +0.000000,4 +0.000000,4 +0.000000,4 +0.000000,4 +0.000000,4 +0.000000,4 +0.000001,4 +0.000001,4 +0.000002,8 +0.000002,8 +0.000002,8 +0.000002,8 +0.000002,8 +0.000002,8 +0.000002,8 +0.000002,8 +0.000001,8 0.000001,8 -0.000010,16 -0.000081,32 -0.000654,64 -0.005556,128 -0.054253,256 -0.487317,512 -4.162845,1024 -125.909034,2048 -1111.312696,4096 +0.000011,16 +0.000011,16 +0.000011,16 +0.000011,16 +0.000011,16 +0.000021,16 +0.000011,16 +0.000011,16 +0.000011,16 +0.000011,16 +0.000090,32 +0.000093,32 +0.000083,32 +0.000082,32 +0.000090,32 +0.000080,32 +0.000080,32 +0.000080,32 +0.000089,32 +0.000126,32 +0.000771,64 +0.000651,64 +0.000651,64 +0.000651,64 +0.000731,64 +0.000673,64 +0.000745,64 +0.000672,64 +0.000671,64 +0.000707,64 +0.005642,128 +0.005579,128 +0.005768,128 +0.005745,128 +0.005518,128 +0.005877,128 +0.005513,128 +0.005850,128 +0.005769,128 +0.005581,128 +0.052188,256 +0.051988,256 +0.051888,256 +0.051518,256 +0.051709,256 +0.051543,256 +0.051707,256 +0.051845,256 +0.051495,256 +0.051834,256 +0.507020,512 +0.504111,512 +0.502049,512 +0.529743,512 +0.501028,512 +0.502097,512 +0.503490,512 +0.502079,512 +0.506688,512 +0.504163,512 +4.538722,1024 +4.291473,1024 +4.516302,1024 +4.374630,1024 +4.719557,1024 +4.438999,1024 +4.641680,1024 +4.407959,1024 +4.441451,1024 +4.677313,1024 +129.433279,2048 +129.277802,2048 +129.284817,2048 +129.086884,2048 +129.197444,2048 +129.350999,2048 +129.264250,2048 +129.295723,2048 +129.402601,2048 +129.300820,2048 diff --git a/buch/papers/multiplikation/code/meas/MM_dc.txt b/buch/papers/multiplikation/code/meas/MM_dc.txt index f6be928..b78b925 100644 --- a/buch/papers/multiplikation/code/meas/MM_dc.txt +++ b/buch/papers/multiplikation/code/meas/MM_dc.txt @@ -1,12 +1,110 @@ 0.000003,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 0.000002,4 -0.000010,8 -0.000068,16 -0.000594,32 -0.004264,64 -0.036289,128 -0.324645,256 -2.612010,512 -19.928951,1024 -159.333884,2048 -1147.106865,4096 +0.000001,4 +0.000001,4 +0.000001,4 +0.000001,4 +0.000001,4 +0.000001,4 +0.000001,4 +0.000001,4 +0.000001,4 +0.000008,8 +0.000008,8 +0.000008,8 +0.000008,8 +0.000007,8 +0.000007,8 +0.000007,8 +0.000007,8 +0.000018,8 +0.000008,8 +0.000075,16 +0.000063,16 +0.000088,16 +0.000062,16 +0.000086,16 +0.000092,16 +0.000081,16 +0.000080,16 +0.000070,16 +0.000085,16 +0.000581,32 +0.000659,32 +0.000584,32 +0.000714,32 +0.000666,32 +0.000574,32 +0.000616,32 +0.000534,32 +0.000506,32 +0.000506,32 +0.004567,64 +0.004502,64 +0.004332,64 +0.004578,64 +0.004543,64 +0.004426,64 +0.004497,64 +0.004329,64 +0.004288,64 +0.004277,64 +0.036456,128 +0.034901,128 +0.034545,128 +0.034283,128 +0.035150,128 +0.034663,128 +0.034901,128 +0.034022,128 +0.034368,128 +0.035154,128 +0.296292,256 +0.297592,256 +0.302464,256 +0.299557,256 +0.299367,256 +0.306394,256 +0.287616,256 +0.292630,256 +0.289542,256 +0.277019,256 +2.331956,512 +2.224501,512 +2.203910,512 +2.198937,512 +2.206083,512 +2.199477,512 +2.199847,512 +2.225379,512 +2.202491,512 +2.235926,512 +17.649432,1024 +17.636769,1024 +17.639024,1024 +17.625402,1024 +17.722286,1024 +17.611777,1024 +17.653120,1024 +17.748270,1024 +17.691817,1024 +17.614448,1024 +141.943689,2048 +141.580812,2048 +141.882050,2048 +141.516253,2048 +141.351237,2048 +141.641167,2048 +141.596407,2048 +141.607048,2048 +141.469723,2048 +141.515550,2048 diff --git a/buch/papers/multiplikation/code/meas/blas.txt b/buch/papers/multiplikation/code/meas/blas.txt index 92a61b9..9414d8f 100644 --- a/buch/papers/multiplikation/code/meas/blas.txt +++ b/buch/papers/multiplikation/code/meas/blas.txt @@ -1,12 +1,110 @@ 0.000001,2 -0.000001,4 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,4 +0.000000,4 +0.000000,4 +0.000000,4 +0.000000,4 +0.000000,4 +0.000000,4 +0.000000,4 +0.000000,4 +0.000000,4 0.000001,8 +0.000000,8 +0.000000,8 +0.000000,8 +0.000000,8 +0.000000,8 +0.000000,8 +0.000000,8 +0.000000,8 +0.000000,8 0.000003,16 -0.000022,32 -0.000179,64 +0.000003,16 +0.000003,16 +0.000003,16 +0.000003,16 +0.000003,16 +0.000012,16 +0.000003,16 +0.000003,16 +0.000003,16 +0.000021,32 +0.000019,32 +0.000030,32 +0.000020,32 +0.000020,32 +0.000020,32 +0.000020,32 +0.000020,32 +0.000020,32 +0.000020,32 +0.000180,64 +0.000192,64 +0.000163,64 +0.000153,64 +0.000153,64 +0.000197,64 +0.000163,64 +0.000267,64 +0.000226,64 +0.000164,64 +0.001216,128 +0.001233,128 +0.001364,128 0.001278,128 -0.010165,256 -0.074739,512 -0.704748,1024 -6.845095,2048 -55.845038,4096 +0.001211,128 +0.001295,128 +0.001206,128 +0.001371,128 +0.001225,128 +0.001250,128 +0.009733,256 +0.009497,256 +0.009586,256 +0.009600,256 +0.009768,256 +0.009566,256 +0.009731,256 +0.009550,256 +0.009664,256 +0.009794,256 +0.077453,512 +0.076616,512 +0.088812,512 +0.075990,512 +0.076925,512 +0.076303,512 +0.075915,512 +0.075600,512 +0.075122,512 +0.075029,512 +0.769186,1024 +0.775780,1024 +0.753906,1024 +0.757834,1024 +0.772001,1024 +0.770950,1024 +0.791317,1024 +0.753319,1024 +0.747228,1024 +0.752347,1024 +7.625205,2048 +7.652278,2048 +7.640682,2048 +7.649428,2048 +7.632806,2048 +7.579347,2048 +7.612317,2048 +7.676742,2048 +7.632979,2048 +7.619210,2048 diff --git a/buch/papers/multiplikation/code/meas/ci/MM.txt b/buch/papers/multiplikation/code/meas/ci/MM.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/buch/papers/multiplikation/code/meas/ci/MM.txt diff --git a/buch/papers/multiplikation/code/meas/ci/Wino.txt b/buch/papers/multiplikation/code/meas/ci/Wino.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/buch/papers/multiplikation/code/meas/ci/Wino.txt diff --git a/buch/papers/multiplikation/code/meas/ci/blas.txt b/buch/papers/multiplikation/code/meas/ci/blas.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/buch/papers/multiplikation/code/meas/ci/blas.txt diff --git a/buch/papers/multiplikation/code/meas/ci/dc.txt b/buch/papers/multiplikation/code/meas/ci/dc.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/buch/papers/multiplikation/code/meas/ci/dc.txt diff --git a/buch/papers/multiplikation/code/meas/ci/strassen.txt b/buch/papers/multiplikation/code/meas/ci/strassen.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/buch/papers/multiplikation/code/meas/ci/strassen.txt diff --git a/buch/papers/multiplikation/code/meas/old/8196/MM.txt b/buch/papers/multiplikation/code/meas/old/8196/MM.txt new file mode 100644 index 0000000..0edf9f6 --- /dev/null +++ b/buch/papers/multiplikation/code/meas/old/8196/MM.txt @@ -0,0 +1 @@ +9376.173434,8192 diff --git a/buch/papers/multiplikation/code/meas/old/8196/MM_dc.txt b/buch/papers/multiplikation/code/meas/old/8196/MM_dc.txt new file mode 100644 index 0000000..36f6ff0 --- /dev/null +++ b/buch/papers/multiplikation/code/meas/old/8196/MM_dc.txt @@ -0,0 +1 @@ +9606.402522,8192 diff --git a/buch/papers/multiplikation/code/meas/old/8196/blas.txt b/buch/papers/multiplikation/code/meas/old/8196/blas.txt new file mode 100644 index 0000000..b5989fb --- /dev/null +++ b/buch/papers/multiplikation/code/meas/old/8196/blas.txt @@ -0,0 +1 @@ +478.429957,8192 diff --git a/buch/papers/multiplikation/code/meas/old/8196/strassen.txt b/buch/papers/multiplikation/code/meas/old/8196/strassen.txt new file mode 100644 index 0000000..ca06e97 --- /dev/null +++ b/buch/papers/multiplikation/code/meas/old/8196/strassen.txt @@ -0,0 +1 @@ +3014.235467,8192 diff --git a/buch/papers/multiplikation/code/meas/old/8196/winograd.txt b/buch/papers/multiplikation/code/meas/old/8196/winograd.txt new file mode 100644 index 0000000..2a529c4 --- /dev/null +++ b/buch/papers/multiplikation/code/meas/old/8196/winograd.txt @@ -0,0 +1 @@ +10071.512655,8192 diff --git a/buch/papers/multiplikation/code/meas/old/MM.txt b/buch/papers/multiplikation/code/meas/old/MM.txt new file mode 100644 index 0000000..e296dd7 --- /dev/null +++ b/buch/papers/multiplikation/code/meas/old/MM.txt @@ -0,0 +1,12 @@ +0.000001,2 +0.000001,4 +0.000001,8 +0.000010,16 +0.000081,32 +0.000654,64 +0.005556,128 +0.054253,256 +0.487317,512 +4.162845,1024 +125.909034,2048 +1111.312696,4096 diff --git a/buch/papers/multiplikation/code/meas/old/MM_dc.txt b/buch/papers/multiplikation/code/meas/old/MM_dc.txt new file mode 100644 index 0000000..f6be928 --- /dev/null +++ b/buch/papers/multiplikation/code/meas/old/MM_dc.txt @@ -0,0 +1,12 @@ +0.000003,2 +0.000002,4 +0.000010,8 +0.000068,16 +0.000594,32 +0.004264,64 +0.036289,128 +0.324645,256 +2.612010,512 +19.928951,1024 +159.333884,2048 +1147.106865,4096 diff --git a/buch/papers/multiplikation/code/meas/old/blas.txt b/buch/papers/multiplikation/code/meas/old/blas.txt new file mode 100644 index 0000000..92a61b9 --- /dev/null +++ b/buch/papers/multiplikation/code/meas/old/blas.txt @@ -0,0 +1,12 @@ +0.000001,2 +0.000001,4 +0.000001,8 +0.000003,16 +0.000022,32 +0.000179,64 +0.001278,128 +0.010165,256 +0.074739,512 +0.704748,1024 +6.845095,2048 +55.845038,4096 diff --git a/buch/papers/multiplikation/code/meas/old/strassen.txt b/buch/papers/multiplikation/code/meas/old/strassen.txt new file mode 100644 index 0000000..fdfbf2b --- /dev/null +++ b/buch/papers/multiplikation/code/meas/old/strassen.txt @@ -0,0 +1,12 @@ +0.000001,2 +0.000003,4 +0.000010,8 +0.000066,16 +0.000470,32 +0.003368,64 +0.024232,128 +0.172000,256 +1.209262,512 +8.457472,1024 +59.267256,2048 +414.648901,4096 diff --git a/buch/papers/multiplikation/code/meas/old/winograd.txt b/buch/papers/multiplikation/code/meas/old/winograd.txt new file mode 100644 index 0000000..d185906 --- /dev/null +++ b/buch/papers/multiplikation/code/meas/old/winograd.txt @@ -0,0 +1,12 @@ +0.000001,2 +0.000001,4 +0.000002,8 +0.000011,16 +0.000100,32 +0.000654,64 +0.005229,128 +0.057440,256 +0.517850,512 +4.539413,1024 +130.627663,2048 +1179.261048,4096 diff --git a/buch/papers/multiplikation/code/meas/strassen.txt b/buch/papers/multiplikation/code/meas/strassen.txt index fdfbf2b..d6e040e 100644 --- a/buch/papers/multiplikation/code/meas/strassen.txt +++ b/buch/papers/multiplikation/code/meas/strassen.txt @@ -1,12 +1,110 @@ -0.000001,2 -0.000003,4 -0.000010,8 -0.000066,16 -0.000470,32 -0.003368,64 -0.024232,128 -0.172000,256 -1.209262,512 -8.457472,1024 -59.267256,2048 -414.648901,4096 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000004,4 +0.000002,4 +0.000002,4 +0.000002,4 +0.000002,4 +0.000002,4 +0.000002,4 +0.000002,4 +0.000002,4 +0.000001,4 +0.000020,8 +0.000018,8 +0.000008,8 +0.000008,8 +0.000008,8 +0.000008,8 +0.000008,8 +0.000008,8 +0.000008,8 +0.000019,8 +0.000080,16 +0.000075,16 +0.000078,16 +0.000085,16 +0.000065,16 +0.000065,16 +0.000065,16 +0.000064,16 +0.000065,16 +0.000065,16 +0.000546,32 +0.000480,32 +0.000563,32 +0.000551,32 +0.000502,32 +0.000504,32 +0.000463,32 +0.000462,32 +0.000508,32 +0.000462,32 +0.003675,64 +0.003665,64 +0.003493,64 +0.003708,64 +0.003465,64 +0.003502,64 +0.003710,64 +0.003537,64 +0.003637,64 +0.003568,64 +0.025342,128 +0.025179,128 +0.026475,128 +0.025758,128 +0.025333,128 +0.024988,128 +0.025727,128 +0.025298,128 +0.025283,128 +0.025098,128 +0.181311,256 +0.178432,256 +0.177075,256 +0.177474,256 +0.177025,256 +0.177805,256 +0.177944,256 +0.178151,256 +0.177858,256 +0.178742,256 +1.283374,512 +1.246682,512 +1.245898,512 +1.251547,512 +1.250288,512 +1.250495,512 +1.257037,512 +1.255247,512 +1.255382,512 +1.259050,512 +8.784102,1024 +8.845725,1024 +8.771100,1024 +8.770184,1024 +8.955977,1024 +8.849161,1024 +8.806902,1024 +8.808937,1024 +8.848900,1024 +8.861383,1024 +61.787123,2048 +61.972599,2048 +61.822434,2048 +62.051331,2048 +61.946171,2048 +61.911404,2048 +61.872671,2048 +61.791260,2048 +61.818110,2048 +62.045588,2048 diff --git a/buch/papers/multiplikation/code/meas/winograd.txt b/buch/papers/multiplikation/code/meas/winograd.txt index d185906..970a3f4 100644 --- a/buch/papers/multiplikation/code/meas/winograd.txt +++ b/buch/papers/multiplikation/code/meas/winograd.txt @@ -1,12 +1,110 @@ 0.000001,2 -0.000001,4 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,2 +0.000000,4 +0.000000,4 +0.000000,4 +0.000000,4 +0.000000,4 +0.000000,4 +0.000000,4 +0.000000,4 +0.000000,4 +0.000000,4 0.000002,8 +0.000002,8 +0.000002,8 +0.000002,8 +0.000002,8 +0.000002,8 +0.000002,8 +0.000002,8 +0.000002,8 +0.000002,8 +0.000011,16 +0.000011,16 +0.000011,16 +0.000011,16 +0.000011,16 +0.000011,16 +0.000011,16 +0.000021,16 +0.000011,16 0.000011,16 -0.000100,32 -0.000654,64 -0.005229,128 -0.057440,256 -0.517850,512 -4.539413,1024 -130.627663,2048 -1179.261048,4096 +0.000092,32 +0.000092,32 +0.000081,32 +0.000081,32 +0.000081,32 +0.000081,32 +0.000088,32 +0.000079,32 +0.000079,32 +0.000079,32 +0.000670,64 +0.000739,64 +0.000609,64 +0.000609,64 +0.000700,64 +0.000648,64 +0.000626,64 +0.000626,64 +0.000626,64 +0.000626,64 +0.005321,128 +0.005286,128 +0.005180,128 +0.005223,128 +0.005249,128 +0.005299,128 +0.005205,128 +0.005268,128 +0.005464,128 +0.005378,128 +0.053123,256 +0.052325,256 +0.052729,256 +0.052930,256 +0.052207,256 +0.053178,256 +0.052122,256 +0.052681,256 +0.052965,256 +0.052486,256 +0.527028,512 +0.525201,512 +0.521822,512 +0.525147,512 +0.525241,512 +0.527725,512 +0.526321,512 +0.526479,512 +0.524020,512 +0.520768,512 +4.732299,1024 +4.617253,1024 +4.647425,1024 +4.519233,1024 +4.917471,1024 +4.564929,1024 +4.870771,1024 +4.555407,1024 +4.727473,1024 +4.559349,1024 +136.409028,2048 +136.390557,2048 +136.541672,2048 +136.598491,2048 +137.720790,2048 +136.825926,2048 +136.367686,2048 +136.650627,2048 +136.642195,2048 +136.622805,2048 diff --git a/buch/papers/multiplikation/code/meas_4096.pdf b/buch/papers/multiplikation/code/meas_4096.pdf Binary files differindex e889d17..ecf2cff 100644 --- a/buch/papers/multiplikation/code/meas_4096.pdf +++ b/buch/papers/multiplikation/code/meas_4096.pdf diff --git a/buch/papers/multiplikation/code/meas_4096.txt b/buch/papers/multiplikation/code/meas_4096.txt index e69de29..cae1bc6 100644 --- a/buch/papers/multiplikation/code/meas_4096.txt +++ b/buch/papers/multiplikation/code/meas_4096.txt @@ -0,0 +1,6 @@ +2.048000000000000000e+03 4.096000000000000000e+03 +6.154183513402938843e+03 4.681333474493026733e+04 +7.375929301261901855e+03 5.846600176072120667e+04 +3.860573610544204712e+03 2.290433094644546509e+04 +4.884613198995590210e+03 4.359707747149467468e+04 +2.157390117645263672e-01 1.491588830947875977e+00 |