From 7e081f749e69ecc10ea0274b33ab3b8a5b4d6a0b Mon Sep 17 00:00:00 2001 From: mquinson Date: Sun, 21 May 2006 20:42:34 +0000 Subject: [PATCH 1/1] reindent git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2270 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- examples/gras/pmm/pmm.c | 422 ++++++++++++++++++++-------------------- 1 file changed, 211 insertions(+), 211 deletions(-) diff --git a/examples/gras/pmm/pmm.c b/examples/gras/pmm/pmm.c index 15412760cd..c0320c4d33 100755 --- a/examples/gras/pmm/pmm.c +++ b/examples/gras/pmm/pmm.c @@ -12,44 +12,44 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(pmm,"Parallel Matrix Multiplication"); GRAS_DEFINE_TYPE(s_matrix,struct s_matrix { - int rows; - int cols; - double *data GRAS_ANNOTE(size, rows*cols); + int rows; + int cols; + double *data GRAS_ANNOTE(size, rows*cols); };) -typedef struct s_matrix matrix_t; - -/* struct for recovering results */ -GRAS_DEFINE_TYPE(s_result,struct s_result { - int i; - int j; - double value; -}); + typedef struct s_matrix matrix_t; + + /* struct for recovering results */ + GRAS_DEFINE_TYPE(s_result,struct s_result { + int i; + int j; + double value; + }); typedef struct s_result result_t; /* struct to send initial data to slave */ GRAS_DEFINE_TYPE(s_init_data,struct s_init_data { - int myrow; - int mycol; - double a; - double b; + int myrow; + int mycol; + double a; + double b; }); typedef struct s_init_data init_data_t; /* register messages which may be sent (common to client and server) */ static void register_messages(void) { - gras_datadesc_type_t result_type; - gras_datadesc_type_t init_data_type; - result_type=gras_datadesc_by_symbol(s_result); - init_data_type=gras_datadesc_by_symbol(s_init_data); + gras_datadesc_type_t result_type; + gras_datadesc_type_t init_data_type; + result_type=gras_datadesc_by_symbol(s_result); + init_data_type=gras_datadesc_by_symbol(s_init_data); - gras_msgtype_declare("result", result_type); // recieve a final result from slave - gras_msgtype_declare("init_data", init_data_type); // send from master to slave to initialize data bA,bB - - gras_msgtype_declare("ask_result", gras_datadesc_by_name("int")); // send from master to slave to ask a final result - gras_msgtype_declare("step", gras_datadesc_by_name("int"));// send from master to slave to indicate the begining of step - gras_msgtype_declare("step_ack", gras_datadesc_by_name("int"));//send from slave to master to indicate the end of the current step - gras_msgtype_declare("dataA", gras_datadesc_by_name("double"));// send data between slave - gras_msgtype_declare("dataB", gras_datadesc_by_name("double"));// send data between slave + gras_msgtype_declare("result", result_type); // recieve a final result from slave + gras_msgtype_declare("init_data", init_data_type); // send from master to slave to initialize data bA,bB + + gras_msgtype_declare("ask_result", gras_datadesc_by_name("int")); // send from master to slave to ask a final result + gras_msgtype_declare("step", gras_datadesc_by_name("int"));// send from master to slave to indicate the begining of step + gras_msgtype_declare("step_ack", gras_datadesc_by_name("int"));//send from slave to master to indicate the end of the current step + gras_msgtype_declare("dataA", gras_datadesc_by_name("double"));// send data between slave + gras_msgtype_declare("dataB", gras_datadesc_by_name("double"));// send data between slave } /* Function prototypes */ @@ -72,10 +72,10 @@ typedef struct { /*** Function initilaze matrixs ***/ static void initmatrix(matrix_t *X){ -int i; + int i; -for(i=0 ; i<(X->rows)*(X->cols); i++) - X->data[i]=1.0;//*rand()/(RAND_MAX+1.0); + for(i=0 ; i<(X->rows)*(X->cols); i++) + X->data[i]=1.0;//*rand()/(RAND_MAX+1.0); } /* end_of_initmatrixs */ /*** Function Scatter Sequentiel ***/ @@ -106,135 +106,135 @@ static void gather(){ static void display(matrix_t X){ -int i,j,t=0; + int i,j,t=0; printf(" "); for(j=0;j Myrow(%d)",step,myrow); + TRY { + gras_msg_wait(600,gras_msgtype_by_name("dataB"), + &from,&bB); + } CATCH(e) { + RETHROW0("I Can't get a data message from row : %s"); + } + INFO2("Recive data B (%.3g) from my neighbor: %s",bB,gras_socket_peer_name(from)); + } + /* a column brodcast */ + if(mycol==step){ + for (l=1;l < MATRIX_SIZE ;l++){ + gras_msg_send(socket_row[l-1],gras_msgtype_by_name("dataA"), &mydataA); + bA=mydataA; + INFO1("send my data A (%.3g) to my (horizontal) neighbors",bA); } - if(myrow != step){ - INFO2("step(%d) <> Myrow(%d)",step,myrow); - TRY { - gras_msg_wait(600,gras_msgtype_by_name("dataB"), - &from,&bB); - } CATCH(e) { - RETHROW0("I Can't get a data message from row : %s"); - } - INFO2("Recive data B (%.3g) from my neighbor: %s",bB,gras_socket_peer_name(from)); - } - /* a column brodcast */ - if(mycol==step){ - for (l=1;l < MATRIX_SIZE ;l++){ - gras_msg_send(socket_row[l-1],gras_msgtype_by_name("dataA"), &mydataA); - bA=mydataA; - INFO1("send my data A (%.3g) to my (horizontal) neighbors",bA); - } - } - - if(mycol != step){ - TRY { - gras_msg_wait(1200,gras_msgtype_by_name("dataA"), - &from,&bA); - } CATCH(e) { - RETHROW0("I Can't get a data message from column : %s"); - } - INFO2("Recive data A (%.3g) from my neighbor : %s ",bA,gras_socket_peer_name(from)); + } + + if(mycol != step){ + TRY { + gras_msg_wait(1200,gras_msgtype_by_name("dataA"), + &from,&bA); + } CATCH(e) { + RETHROW0("I Can't get a data message from column : %s"); } - bC+=bA*bB; - INFO1(">>>>>>>> My BC = %.3g",bC); + INFO2("Recive data A (%.3g) from my neighbor : %s ",bA,gras_socket_peer_name(from)); + } + bC+=bA*bB; + INFO1(">>>>>>>> My BC = %.3g",bC); - /* send a ack msg to master */ + /* send a ack msg to master */ - gras_msg_send(from,gras_msgtype_by_name("step_ack"),&step); + gras_msg_send(from,gras_msgtype_by_name("step_ack"),&step); - INFO1("Send ack to master for to end %d th step",step); - } - if(step==MATRIX_SIZE-1) break; + INFO1("Send ack to master for to end %d th step",step); + } + if(step==MATRIX_SIZE-1) break; } while (step < MATRIX_SIZE); - /* wait Message from master to send the result */ + /* wait Message from master to send the result */ - result.value=bC; - result.i=myrow; - result.j=mycol; + result.value=bC; + result.i=myrow; + result.j=mycol; - TRY { - gras_msg_wait(600,gras_msgtype_by_name("ask_result"), - &from,&result_ack); - } CATCH(e) { - RETHROW0("I Can't get a data message from row : %s"); - } - /* send Result to master */ - TRY { - gras_msg_send(from, gras_msgtype_by_name("result"),&result); - } CATCH(e) { - // gras_socket_close(from); - RETHROW0("Failed to send PING to server: %s"); - } - INFO3(">>>>>>>> Result: %.3f sent to %s:%d <<<<<<<<", - bC, - gras_socket_peer_name(from),gras_socket_peer_port(from)); - /* Free the allocated resources, and shut GRAS down */ - gras_socket_close(from); - gras_exit(); - INFO0("Done."); - return 0; + TRY { + gras_msg_wait(600,gras_msgtype_by_name("ask_result"), + &from,&result_ack); + } CATCH(e) { + RETHROW0("I Can't get a data message from row : %s"); + } + /* send Result to master */ + TRY { + gras_msg_send(from, gras_msgtype_by_name("result"),&result); + } CATCH(e) { + // gras_socket_close(from); + RETHROW0("Failed to send PING to server: %s"); + } + INFO3(">>>>>>>> Result: %.3f sent to %s:%d <<<<<<<<", + bC, + gras_socket_peer_name(from),gras_socket_peer_port(from)); + /* Free the allocated resources, and shut GRAS down */ + gras_socket_close(from); + gras_exit(); + INFO0("Done."); + return 0; } /* end_of_slave */ -- 2.20.1