From 282491663125aa764dadd2bbdb473579f5569559 Mon Sep 17 00:00:00 2001 From: Nicolas Fley <nicolas.fley@student.ecp.fr> Date: Wed, 8 Mar 2017 18:50:50 +0100 Subject: [PATCH] Dispatching matrix size optimised --- prod_mat_vec/bin/Debug/prod_mat_vec.exe | Bin 68730 -> 68730 bytes prod_mat_vec/main.c | 28 ++++-------------------- prod_mat_vec/obj/Debug/main.o | Bin 6905 -> 7499 bytes prod_mat_vec/prod_mat_vec.depend | 2 +- 4 files changed, 5 insertions(+), 25 deletions(-) diff --git a/prod_mat_vec/bin/Debug/prod_mat_vec.exe b/prod_mat_vec/bin/Debug/prod_mat_vec.exe index 8e88eef60cc0b0fed0ed4dcb12d5eef57bc02bca..0fc649b2facbdb4ac4f75dbd553b4e0b23b2aa8c 100644 GIT binary patch delta 6998 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 GjxYcZw6|*j delta 6590 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 diff --git a/prod_mat_vec/main.c b/prod_mat_vec/main.c index 3092c58..d7c5b4f 100644 --- a/prod_mat_vec/main.c +++ b/prod_mat_vec/main.c @@ -3,7 +3,7 @@ #include <mpi.h> #include <time.h> -#define DEBUG 0 +#define DEBUG 1 /* Commands : @@ -11,25 +11,6 @@ cd 'B:\Mes Documents\progra\calcInt\' C:\MPICH2\bin\mpiexec.exe -localonly 10 */ -/* -* The reference book says we should use all_gather and all_gatherv to make all the processors -* access the x vector. -* BUT, what fonction should we use to get the entire . Moreover -* the website http://mpitutorial.com say that MPI_Allgather should be used "only" -* if all the processes contains a part of the data and EACH ONE want the entire data -* dispatched through the processes. -* This image :http://mpitutorial.com/tutorials/mpi-scatter-gather-and-allgather/allgather.png -* Show this point. -* More over according to the problematic given MPI_Scatter and MPI_Gather seems to be -* more usable in this specific context of a dense matrix vector product. -* -* Moreover, it is said that we should use allgatherv to get the final matrix but, if we consider -* this stackoverflow answer : -* http://stackoverflow.com/questions/15049190/difference-between-mpi-allgather-and-mpi-alltoall-functions#answer-34113431 -* We see that using all gatherv will duplicate the data through each processor. -* Using gather seems more appropriated. -*/ - void printMatrix(int width, int height, float **matrix){ for(int i=0; i!=height; i++){ for(int j=0; j!=width; j++){ @@ -104,10 +85,9 @@ int main (int argc, char *argv[]) { h_prob=size_prob/size; // h_prob is the processus' problem height h_base=h_prob; }else{ - if(rank!=size-1) - h_prob=(size_prob/size)+1; - else{ - h_prob=size_prob%h_base; + h_prob=(size_prob/size); + if(rank<size_prob%h_base-1){ + h_prob+=1; } } w_prob=size_prob; // w_prob is not dependent of the number of processus. diff --git a/prod_mat_vec/obj/Debug/main.o b/prod_mat_vec/obj/Debug/main.o index 3c48403841ef68315b839812c08864bf2315d703..d3967fc14ef24db17b80da84c7183a5847cbcf01 100644 GIT binary patch delta 2497 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 delta 1946 zcmX?Y_0yEghmo5B1Ukefa!CnxurV;4VPs&?5eA7dFlbLSO=n|aWMBy4n7BwuZwD&_ zLj)%S!z~erv@!z&g9C$rlfI!DL;y-!Gcqs;@K5}t#^x=+z+fRZS&mVTYbzrIL$&|| zgOAu`H%28U1)<4VjA~3_LX#&ks<CAWF))OQZQjQi#l+*$>7v4NoJEC!fx%_60E;9` zw~LC)<WLsXdXLrvr6S!fDm73Q0t^fcFF<xS*QnGml-ht4G9Ku3QK>;v<N#CjTBh4Y z1>J}lFxhS&6&H}MncsglA7JcsQOQ9P>AcW-pj5KHI|ioacc+VrL$`~H14!X(Bap?t z0slefTOKMALDC5^%i%RY#OxZCoX!hSy&zv?fXq1ffT@#31?-Vd7nKx{N>rf)h$?er zWign_B0$bS)foa3n!JrwDfPIEN(CsWUTbu_s8sZdw1PO@E-F5~GEChrDjCT7n44Wx zDi}eQTDquI)ST-MQSkurIzv<hx<gb_Izv==x<gcaIzv=AKv4nG5As34<N!7~#*oSR zY~qd%AOVma$6Zu3pmYg{ey!B)qEdozKnUZ7Zh>wW6%9sEz-TnPsFZ-L_LzK}O>uG_ zn?$_^%p_3owjKaE<hYB93@CXVcTthxVqx&<4p9l{3{es34p9k#Ix+#|$m1?593Xk9 zBU6w}a_A0G0jU9b2;>ovhhoq@#Qx|1|9T=VjKE@H43dSQl&5f<Mdd9##kr_NKpj>C zQdjxwKPUwuJ2Ih@MP>4R4%67<E-D4!z*FdUQ7J$Ko)6=NZU&HMkYuxqN&zV794uW_ z3Tm!_A{QnFPFy=cin?R}oII>*s%My{qrjkQs%MnOHMxuPzC>DPUSf_yS!!}gevv{+ zeu;vW0!aCm$rrf_m^#=tJ995*W=~*YU|^gxYw|}vDYaRw3=B*YS@?<)^RgKjo%b*> zFff;#VBjmxtV)IRk4!e?SF3-)z?TtUP?Vnp7e4?JNlGk6sC>g9D9OOU!06J!1TyFe zgCNLyMpp>;0fV46NY)L)y~Dr<acO)}YH@r?ehCAkJ4EIN17A^Ua#?bIX<kV&1EWU= zBLhP{bIBD3zLd=3f}COoMo*9sbIAn;K~TxZ=+y+a?+gQ9aY<rHX)yz%&o@Q}2Bs1n zhz<tE7LeDNN;HH%GBYsPFfcHrvobL7Wil|<fh3qqelRcy&1GR=0F{AFP^ngk)E5Q@ zUQ0H81_l!bh?cDo@ed3P46H0cj0_CI5sVBBt63QsL>NTlGxL)enBFhgJWn8)krz}J zgMt8rH*WqXsLd$lG{2d{wwc4WbUsIPGlv6*B8TwP1y4Ebp0`hS7q;V)Wadg^a*<@x zk=ndfSdvi~6k80Ad>pMzPQ0w{&CJZ9ER!FKbk_GXF)*kzfUI1_#K6GEz`(%9u%3y5 zK^`o29xiqTF7_5K_6aUl&dk67%Ge?dU2xW1IBNr(br{aN24U4Rh%mf_Fd0M`Bv@d^ zOk`nT&;&byn-#_iWo2N{0*f7mv#x-`80_eqtPBjGWFf-vla+x%2ds{j4aO3Lvt;2c zO*RGwHHbn}xL_2VRSIWSv2B(TS75YV$HKrM!N9=4&9E2FIs<3PvchD2Ss55Oz>dm* zvzjM2O8jO8#iRD*M#*$W#>s|KqLcqg^09&{Qsv2lQt6CaH&;r9GO~gqS$y(AY5C2c Hq$3#tVoSyM diff --git a/prod_mat_vec/prod_mat_vec.depend b/prod_mat_vec/prod_mat_vec.depend index 20a876c..6918d23 100644 --- a/prod_mat_vec/prod_mat_vec.depend +++ b/prod_mat_vec/prod_mat_vec.depend @@ -1,5 +1,5 @@ # depslib dependency file v1.0 -1488910513 source:b:\mes documents\progra\calcint\prod_mat_vec\main.c +1488995164 source:b:\mes documents\progra\calcint\prod_mat_vec\main.c <stdio.h> <stdlib.h> <mpi.h> -- GitLab