From 52996e54fa9c6d1938734f3d1d6e570018d8b6cd Mon Sep 17 00:00:00 2001 From: Adin Baskoro <13513058@std.stei.itb.ac.id> Date: Fri, 19 Feb 2016 14:10:27 +0700 Subject: [PATCH] time fix --- omp_bucket | Bin 15752 -> 15784 bytes omp_bucket.c | 26 ++++++++++++++++++++------ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/omp_bucket b/omp_bucket index 3e93d270673fe4e6d72f69658e25c67a55e92982..b8fe71755b7603d043237b5569c3b025da603d1a 100755 GIT binary patch delta 1503 zcmYjR4NOy46n^*h#}?XGm~Jh>v6lZ1`OAK21%yVQc`TBcXa$+d2;e$Iq8rR)z}`sN z<gKf=-jdaX5to?2j7FAcmbtM2foPXB5eZvxaSNL@bYqJI7adOacJ6ybxyd`{eCM9~ zopbJaxqY3(oq=2w588+HQ4=MvXz<q9GZsbx7N$}*EDXMYe%f^VWV$}(u;T!qH)t8{ zNiQ1R`ldq+({)<iys?tvu1_2jAL%Y3RDp*R>Qgi-idr@unpif~P2V>qyJPoFb!=>m zVz4#Q%)4q_`&@3<-aVZ6PmUA1!$L<$a0fVHo)aeHLysj%V5j1etjB$9NMJ{O?6~PN z8!BZ3?PjpOaa77qbr^hX;OxWhabX&<AqeCer#bH*h!fl+U{(n~y2eNkvOVkiPPW4w z?nrd<!`Im;!Hb#k8At>yKrlse_zg7YV~2h2DAzb67y@24ihOLelnr&w!XZQsodAcx zMizG{kr9aWsRIIg-p5A#yCvc!E<@nyJ}|A@<YBk^JYhc?LEi2N^}g+CD4bgtDpNZr zy84wuLUQj>lm9(Ql1R^C&j0d<a%*zc(1Uvvl5>7Tzv6X=Idqc~mO0@XC)|jK{*@#y zPq-c6{LOQ(yAHSxx(>PO4^Fx{;Vuls3ImA?9kKXdkH{Pz$635!u+k4#vEKMfVL+ap zAd&Iy@@MT!vQlo&pHK9jD&awu@WU=UVbO6DtEzYoZZo#3-btYF&qj0k+=?WHp`-{9 zdq7V^A>*J^S0!m4^um9VlmyqC1C14dt_8gtbOdx57c)7i7Vl>Ykpl~0>+qM1*|`PI zHNp21%upVUi%I&3-fq-ZpH`hx`!%0vy&F{DAj1Y71i{)2UkJV%c!f#TTmkDIPBEow zX2GJc)3jZ)88YUIJ*F2JJoo$?C?-17KBZANzG*e5ABEpqO(H2B>I7-H2*EZm;`&OE z6xEFrZ1X697j2WgTn_lqz{fO2CDszt83d^c_VI}>IEkD!GVJ9OXXIT4e!v^rC{#)S z)3|1+f}=ds^aOm(Gwn}6h&P@jY~{-Fi@dQPpdD>f@D<+p3t_KN;0SN5C$O4Sr4EL9 zE#8@7;|Bpf*9;r#;5lAPZOkT&Es~)UTok29@C?v!1xhb1q!&6^tJK~?*y-S2IX60@ zpjIVwtAaent%S5qK~0qTGk_KFdcaDivWbF)26jRU%Mtt_!;YG<H8V|19I4IXj?Ci- z-N9dFok<&P@%DPYy*y4gZlY+lDoBLx4oIYZP1}bXvojL@zU%Ehr>j(nym&f0fOK!Q zwKu>0ZbPe>mU{|`7wp>*ieZ%Ztja_!fi@!xE(VlLdBozp8X6ulA-@ns@YVbwG>;n! zPC)prf-xlFvxSA|AN)PYCA<Rim}oCDAruvz#rL!{t-&uk3iL6hFDix`93}dtHME33 zca$Wods=^UyqfG;ducsuFK?4*caG8MIR3q~1ntMRvI_mREah?*aL<;FxT`Eve`)Q$ auHrAsO3-2aYgq*v!M5@W`1=~lbN&a>KkCN- delta 1418 zcmZ8h4M-bT9KUzT(nNE2y0%NjP0Sjt()tDKj9)WHd+>A)+G(njv~|R7!rC#}T3M|N zlCA9{4J3Unb5ushgxaxD;WAKGFhQ6Wq)WvPJI3ay9k&@6v(R?-<Mw}dVz)hb|KI=n z{oenMH`;%yKURWf;-wcIXC=;9XX7^~pVkD^&;*~MXafBb{kUo6LG2=W)!ut4OMAQZ zgOYpJ9nC>?i0`!7#~=|;r+n(F{cD6oI+}Gb?*`9tE7F0~iqx6DBjx&+?ns@=(qvko zh1ss^RvgY?Oa{iukp%INVX}zHR76SOU>b-2K$!R!L2V*)^0$nFp{L~udO6z{TF_b^ z>N-*8wGji;5hWc?BBIPrD;bu(?9o;s^69;SL`0dFE-Q(slgANdA>z;A;2d$r!b%23 zluVtHI6e<Wh!ypLgDBeaZZlJZ%!oBcl$nU4Mfd2;%UsS->`4N&`fv1=8P@%<hQb3H z_o4eqX5{~w)>uvI_&JkEBCMf0B_l<T>AKFQFodHoe9W$5Hh??$VKj3%>O9BQ8E*eL zM%OV}!Q?wkzSpii&~;3H0&4s3U!C$}avKI*2m{v0ktMAFqC|P99i>}@LcZiNtrd1w zz8RC-<$W^IWxw3k5-mEBQ^@&ow2WbE6S><&ZnTuLHg=qPWYOB`XTl-N;rFtrAi5gt ztGYe}MD7FjFrqN;B*4p$bbS%<x5v6}hp`sJg-QTB05RYUV2r*lZbPRi5i3v+odDfS ze-&L-9;oYv9fV%z*(Z_3oD=*m!KQ>QmN;^5u!9fQv#?LY{()9W`A>ZX+FiOAv{}&X zv{%~Y*aX#;z<^g%l1rp%sh%!8*M$;lO~EHTYN6K)UC#$B9A||Js6qW8onJta8x+mq z1IckMG|Rn+PSR!fRLGzMJ~Vs`e(UTGrq;wkTH>RjY#Az1O}k-^gtF(1sA*mZiSKZz z&NQxsgo7+r$C_B;*d_+oVthOxcCYIl;`{40<00WR%7dbpSPwqFTlkr^Xf!P!-M7^p zibA_*-T=2HzQ@LGEM{~9*PK4^aGWW@GyK;&^#G&J$2&}_0kc;d90Y0mP3w?(&H>Zv z5o%ei%e1;V*I6*dwdWzHn4JR)4ex}ZZt0{OJf*0OR(T3+%#q)w`aQh}{X(aU&g7TB z#RoTs!)G|&YKb#pzXcN6nr$a(U-4GQ(c9sVF4%n*Ssf{kA+@0-iqzTCdV~_xy?wJq z;*x+aq#0H&=T-M^Z|C97xl~qxV)SO&MKneS%ljbx@A64>jZRclpc(o*$Ry3HtUx}s zsZv7dy!u+zpEiEZN}Ijqj>Otk5_Hg8?MSX!Nt*IjXZ`CH<ZE8c^@={@vR=^uE}%Bm yO!BCUI_j$trgD9w<C`Kgbc=qzV<R1|_c(^uMl?pR8d<2J5y;9Q-=%{M+x`I!6wucI diff --git a/omp_bucket.c b/omp_bucket.c index f176507..edaebd1 100644 --- a/omp_bucket.c +++ b/omp_bucket.c @@ -56,15 +56,29 @@ int main(int argc, char *argv[]) { void insertion_sort(int* sorted_array, int size, int element_num) { - int n, array[size], c, d, t; - + int n, c, d, t; + int interval; int my_rank = omp_get_thread_num(); int thread_count = omp_get_num_threads(); - n = thread_count+1; + + interval = size; + // if there is remainder of thread then the last thread hold all the element + if ((element_num - thread_count * size) != 0){ + if(my_rank == thread_count-1){ + // printf("%d\n", my_rank ); + + size = element_num % thread_count + size; + + // printf("%d\n", size); + } + } + + int array[size]; for (c = 0; c < size; c++) { array[c] = rand() % (size) + (my_rank)*size; + // printf("%d ", array[c]); } // Sorting @@ -80,13 +94,13 @@ void insertion_sort(int* sorted_array, int size, int element_num) } } - +// printf("Rank : %d\n", my_rank); // for (c=0;c<size;c++){ -// printf("%d",array[c]); +// printf("%d ",array[c]); // // } // printf("\nSize : %d\n", size); - memcpy(sorted_array+(my_rank * size), &array, size*sizeof(int)); + memcpy(sorted_array+(my_rank * interval), &array, size*sizeof(int)); } void bucket_sort(int* sorted_array, int element_num) { -- GitLab