Revision 384, 0.8 kB
(checked in by mido, 16 years ago)
|
possibly broken?
|
-
Property svn:eol-style set to
native
-
Property svn:keywords set to
Rev Author Date
|
Rev | Line | |
---|
[123] | 1 | function test |
---|
| 2 | |
---|
| 3 | vn = [5,50,200,500] |
---|
| 4 | if 0 |
---|
| 5 | et =zeros(1,4); |
---|
| 6 | et2 =zeros(1,4); |
---|
| 7 | |
---|
| 8 | idn = 1; |
---|
| 9 | vn = [5,50,200,500] |
---|
| 10 | for n= vn |
---|
| 11 | A=rand(n);B=rand(n);C=rand(n); |
---|
| 12 | tic; |
---|
| 13 | for i=1:10 |
---|
| 14 | C=matmult(A,B); |
---|
| 15 | end |
---|
| 16 | et(idn) = toc; |
---|
| 17 | |
---|
| 18 | tic; |
---|
| 19 | for i=1:10 |
---|
| 20 | C=A*B; |
---|
| 21 | end |
---|
| 22 | et2(idn) = toc; |
---|
| 23 | |
---|
| 24 | idn =idn+1; |
---|
| 25 | end |
---|
| 26 | save blas_test |
---|
| 27 | else |
---|
| 28 | load blas_test |
---|
| 29 | end |
---|
| 30 | |
---|
| 31 | itload('../blas_test.it') |
---|
| 32 | |
---|
| 33 | figure |
---|
| 34 | plot(vn,et) |
---|
| 35 | hold on |
---|
| 36 | plot(vn,et2,'r'); |
---|
| 37 | plot(vn,exec_times,'--') |
---|
| 38 | plot(vn,exec_times_b,'r--') |
---|
| 39 | plot(vn,exec_times_c,'g--') |
---|
| 40 | title('For cycle vs. BLAS'); |
---|
| 41 | ylabel('execution time'); |
---|
| 42 | xlabel('matrix size'); |
---|
| 43 | set(gca,'YScale','log') |
---|
| 44 | set(gca,'XScale','log') |
---|
| 45 | set(gcf,'PaperPositionMode','auto'); |
---|
| 46 | |
---|
| 47 | legend('matlab for','matlab blas','IT++ for','IT++ blas','C array') |
---|
| 48 | |
---|
| 49 | |
---|
| 50 | function C=matmult(A,B) |
---|
| 51 | for i=1:size(A,1) |
---|
| 52 | for j=1:size(A,2) |
---|
| 53 | sum=0; |
---|
| 54 | for k=1:size(A,2) |
---|
| 55 | sum=sum+A(i,k)*B(k,j); |
---|
| 56 | end |
---|
| 57 | C(i,j)=sum; |
---|
| 58 | end |
---|
| 59 | end |
---|