- /* Init the GRAS's infrastructure */
- gras_init(&argc, argv);
- register_messages();
-
- /* Initialize Matrices */
- A = xbt_matrix_double_new_id(DATA_MATRIX_SIZE,DATA_MATRIX_SIZE);
- B = xbt_matrix_double_new_seq(DATA_MATRIX_SIZE,DATA_MATRIX_SIZE);
- C = xbt_matrix_double_new_zeros(DATA_MATRIX_SIZE,DATA_MATRIX_SIZE);
-
- /* Get arguments and create sockets */
- port=atoi(argv[1]);
- //scatter();
- //scatter_parl();
- //multiplication();
- //gather();
- /************************* Init Data Send *********************************/
- gras_os_sleep(2);
-
- for( i=0; i+1<argc && i<SLAVE_COUNT;i++){
- grid[i]=xbt_host_from_string(argv[i+1]);
- socket[i]=gras_socket_client(grid[i]->name,grid[i]->port);
-
- INFO2("Connected to %s:%d.",grid[i]->name,grid[i]->port);
- }
- xbt_assert2(i==SLAVE_COUNT,
- "Not enough slaves for this setting (got %d of %d). Change the deployment file",
- i,SLAVE_COUNT);
- /* FIXME: let the surnumerous slave die properly */
-
- int row=0, line=0;
- INFO0("XXXXXXXXXXXXXXXXXXXXXX begin Multiplication");
- for(i=0 ; i<SLAVE_COUNT; i++){
- s_assignment_t assignment;
- int j,k;
-
- assignment.linepos=line; // assigned line
- assignment.rowpos=row; // assigned row