Aufgabe 2: Übersicht über memory, number of floating point operations and writing/reading operations

			memory (*8, in Bytes)	FLOP		writing/reading
A - scalar		2N			2N		2N
B - MatVec		N*M+N			2*N*M		2*N*M+M
C - MatMatProd		L*(M+N)			2*L*M*N		L*N+L*M+M*N
D - PolyEval		p+1+N			2*(p+1)*N	2*(p+1)*N + N

Aufgabe 3-5: Ergebnisse saemtlicher benachmark tests

Start Benchmarking A: scalar product

 <x,y> = 2.5e+08


N = 250000000
Time for Nloops: 20
Timing in sec. : 0.79
GFLOPS         : 0.59
GiByte/s       : 4.7



Start Benchmarking A: scalar product with Kahan summation

 <x,y> = 2.5e+08


N = 250000000
Time for Nloops: 23
Timing in sec. : 0.92



Start Benchmarking A_norm: euclidean norm

 ||x|| = 1.6e+04


N = 250000000
Time for Nloops: 22
Timing in sec. : 0.88
GFLOPS         : 0.53
GiByte/s       : 2.1



Start Benchmarking B: Matrix-Vector Product (row wise access)

 <A[17,.],x> = 8e+03


N = 8000         M = 8000
Time for Nloops: 17
Timing in sec. : 0.23
GFLOPS         : 0.52
GiByte/s       : 4.1



Start Benchmarking B: Matrix-Vector Product (column wise access)

 <A[17,.],x> = 8e+03


N = 8000         M = 8000
Time for Nloops: 18
Timing in sec. : 0.24
GFLOPS         : 0.51
GiByte/s       : 4



Start Benchmarking C: Matrix-Matrix Product

 C[10,15] = 1e+03


N = 1000         M = 1000        L = 1000
Time for Nloops: 19
Timing in sec. : 6.5
GFLOPS         : 0.29
GiByte/s       : 0.0034



Start Benchmarking D: polynomial evaluation

 p(x[0]) = 1


p = 10000        N = 100000
Time for Nloops: 19
Timing in sec. : 3.8
GFLOPS         : 0.49
GiByte/s       : 4


Anmerkungen zu Bsp 5:
A:	die Berechnung der Norm benötigt länger, obwohl nur ein Vektor beteiligt ist; sqrt ist rechenintensiv im Verlgleich zu +,-,/,*
B:	kahan summation benötigt etwas länger
C:	keine gravierenden Unterschiede feststellbar (column wise aber bereits optimiert)

Anmerkungen zu Bsp 4:
bei C) Matrix*Matrix wurde nicht das 10-100 fache des L3 Caches verwendet, da die Berechnung dann irsinnig lange gebraucht hätte;
dadurch etwas kleinere Dimensionen