Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove some #include
[simgrid.git] / examples / smpi / MM / MM_mpi.c
index 6ff27c0..ecaab74 100644 (file)
@@ -1,23 +1,27 @@
+/* Copyright (c) 2012, 2014. The SimGrid Team.
+ * All rights reserved.                                                     */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
 /*
  * Block Matrix Multiplication example
  *
  */
 
-
-#include "topo.h"
-#include "param.h"
 #include "Matrix_init.h"
 #include "2.5D_MM.h"
 #include "xbt/log.h"
+#include <xbt/str.h>
 
 /*int sched_setaffinity(pid_t pid, size_t cpusetsize, cpu_set_t *mask);
   int sched_getaffinity(pid_t pid, size_t cpusetsize, cpu_set_t *mask);
  */
+#include <stdio.h>
+#include <string.h>
 #include <mpi.h>
 #include <math.h>
 #include <getopt.h>
-#include <stdio.h>
-#include <string.h>
 
  XBT_LOG_NEW_DEFAULT_CATEGORY(MM_mpi,
                              "Messages specific for this msg example");
@@ -68,94 +72,60 @@ int main(int argc, char ** argv)
   while(loop==1);
 #endif
 
-  int opt, display = 0;
-  char *conf_file = NULL;
+  int opt = 0;
   optind = 1;
 
   //get the parameter from command line
-  while ((opt = getopt(argc, argv, "hdf:r:c:M:N:K:B:G:g:k:P:")) != -1) {
+  while ((opt = getopt(argc, argv, "hr:c:M:N:K:B:G:g:k:P:")) != -1) {
     switch(opt) {
       case 'h':
         XBT_INFO(
                     "Usage: mxm_cblas_test [options]\n"
-                    "  -M I    M size (default: %zu)\n"
-                    "  -N I    N size (default: %zu)\n"
-                    "  -K I    K size (default: %zu)\n"
-                    "  -B I    Block size on the k dimension(default: %zu)\n"
-                    "  -G I    Number of processor groups(default: %zu)\n"
-                    "  -g I    group index(default: %zu)\n"
-                    "  -k I    group rank(default: %zu)\n"
-                    "  -r I    processor row size (default: %zu)\n"
-                    "  -c I    processor col size (default: %zu)\n"
-                    " -f {Filename} provide the file with the configuration\n"
-                    "  -d  display the configuration file on the stderr\n"
-                    "  -h      help\n",
+                    "  -M I  M size (default: %zu)\n"
+                    "  -N I  N size (default: %zu)\n"
+                    "  -K I  K size (default: %zu)\n"
+                    "  -B I  Block size on the k dimension (default: %zu)\n"
+                    "  -G I  Number of processor groups (default: %zu)\n"
+                    "  -g I  group index (default: %zu)\n"
+                    "  -k I  group rank (default: %zu)\n"
+                    "  -r I  processor row size (default: %zu)\n"
+                    "  -c I  processor col size (default: %zu)\n"
+                    "  -h  help\n",
                     m, n, k, Block_size, NB_groups, group, key, row, col);
         return 0;
       case 'M':
-        m = atoi(optarg);
+        m = xbt_str_parse_int(optarg, "Invalid M size: %s");
         break;
       case 'N':
-        n   = atoi(optarg);
+        n = xbt_str_parse_int(optarg, "Invalid N size: %s");
         break;
       case 'K':
-        k  = atoi(optarg);
+        k = xbt_str_parse_int(optarg, "Invalid K size: %s");
         break;
       case 'B':
-        Block_size = atoi(optarg);
+        Block_size = xbt_str_parse_int(optarg, "Invalid block size: %s");
         break;
       case 'G':
-        NB_groups = atoi(optarg);
+        NB_groups = xbt_str_parse_int(optarg, "Invalid number of processor groups: %s");
         break;
       case 'g':
-        group = atoi(optarg);
+        group = xbt_str_parse_int(optarg, "Invalid group index: %s");
         break;
       case 'k':
-        key = atoi(optarg);
+        key = xbt_str_parse_int(optarg, "Invalid group rank: %s");
         break;
       case 'r':
-        size_row = atoi(optarg);
+        size_row = xbt_str_parse_int(optarg, "Invalid processor row size: %s");
         break;
       case 'c':
-        size_col = atoi(optarg);
+        size_col = xbt_str_parse_int(optarg, "Invalid processor col size: %s");
         break;
         /*case 'P':
           str_mask = strdup(optarg);
           break;*/
-      case 'f':
-        conf_file = strdup(optarg);
-        break;
-      case 'd':
-        display = 1;
-        break;
     }
   }
-  if( display == 1 ){
-    print_conf(MPI_COMM_WORLD, myrank,NULL,NULL);
-    MPI_Barrier(MPI_COMM_WORLD);
-    MPI_Finalize();
-    exit(0);
-  }
-
-  char **conf;
-  //char ***conf_all;
-  if(conf_file == NULL){
-    conf = get_conf(MPI_COMM_WORLD, "default_conf", -1);
-  }else{
-    conf = get_conf(MPI_COMM_WORLD, conf_file, -1);
-    //conf_all = get_conf_all(conf_file);
-  }
-  if(conf == NULL){
-        XBT_INFO(
-                "No configuration for me inside the file\n");
-  }else{
-
 
-    if(NB_groups !=1){
-      /* Get my group number from the config file */
-      group = (size_t)atoi(conf[4]);
-    }
-  }