Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Deprecate functions MSG_global_init() / MSG_global_init_args() in flavor of MSG_init()
[simgrid.git] / examples / msg / parallel_task / test_ptask.c
index 8ee0ec9..07c340f 100644 (file)
@@ -1,3 +1,9 @@
+/* Copyright (c) 2008, 2009, 2010. 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. */
+
 #include <stdio.h>
 #include "msg/msg.h"            /* Yeah! If you want to use msg, you
                                    need to include msg/msg.h */
@@ -11,12 +17,8 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,
 
 int execute(int argc, char *argv[]);
 int redistribute(int argc, char *argv[]);
-MSG_error_t test_all(const char *platform_file, const char *application_file);
-
-typedef enum {
-  PORT_22 = 0,
-  MAX_CHANNEL
-} channel_t;
+MSG_error_t test_all(const char *platform_file,
+                     const char *application_file);
 
 
 int execute(int argc, char *argv[])
@@ -28,32 +30,33 @@ int execute(int argc, char *argv[])
   int host_list_size;
   double *computation_duration = NULL;
   double *communication_table = NULL;
-  double communication_amount;
-  double computation_amount;
+  double communication_amount = 0;
+  double computation_amount = 0;
   double execution_time;
 
 
   host_list_size = argc - 3;
-  DEBUG1("host_list_size=%d", host_list_size);
+  XBT_DEBUG("host_list_size=%d", host_list_size);
   m_host_list = calloc(host_list_size, sizeof(m_host_t));
   for (i = 1; i <= host_list_size; i++) {
     m_host_list[i - 1] = MSG_get_host_by_name(argv[i]);
-    xbt_assert1(m_host_list[i - 1] != NULL,
+    xbt_assert(m_host_list[i - 1] != NULL,
                 "Unknown host %s. Stopping Now! ", argv[i]);
   }
 
-  xbt_assert1(sscanf(argv[argc - 2], "%lg", &computation_amount),
-              "Invalid argument %s\n", argv[argc - 2]);
-  xbt_assert1(sscanf(argv[argc - 1], "%lg", &communication_amount),
-              "Invalid argument %s\n", argv[argc - 1]);
+  _XBT_GNUC_UNUSED int read;
+  read = sscanf(argv[argc - 2], "%lg", &computation_amount);
+  xbt_assert(read, "Invalid argument %s\n", argv[argc - 2]);
+  read = sscanf(argv[argc - 1], "%lg", &communication_amount);
+  xbt_assert(read, "Invalid argument %s\n", argv[argc - 1]);
   computation_duration = (double *) calloc(host_list_size, sizeof(double));
   communication_table =
-    (double *) calloc(host_list_size * host_list_size, sizeof(double));
+      (double *) calloc(host_list_size * host_list_size, sizeof(double));
   for (i = 0; i < host_list_size; i++) {
     computation_duration[i] = computation_amount / host_list_size;
     for (j = 0; j < host_list_size; j++)
       communication_table[i * host_list_size + j] =
-        communication_amount / (host_list_size * host_list_size);
+          communication_amount / (host_list_size * host_list_size);
   }
 
   sprintf(buffer, "redist#0\n");
@@ -65,9 +68,11 @@ int execute(int argc, char *argv[])
 
   execution_time = MSG_get_clock();
   MSG_parallel_task_execute(task);
+  MSG_task_destroy(task);
+  xbt_free(m_host_list);
   execution_time = MSG_get_clock() - execution_time;
 
-  INFO1("execution_time=%g ", execution_time);
+  XBT_INFO("execution_time=%g ", execution_time);
 
   return 0;
 }
@@ -82,28 +87,29 @@ int redistribute(int argc, char *argv[])
   int host_list_size;
   double *computation_duration = NULL;
   double *communication_table = NULL;
-  double communication_amount;
+  double communication_amount = 0;
   double redistribution_time;
 
 
   host_list_size = argc - 2;
-  DEBUG1("host_list_size=%d", host_list_size);
+  XBT_DEBUG("host_list_size=%d", host_list_size);
   m_host_list = calloc(host_list_size, sizeof(m_host_t));
   for (i = 1; i <= host_list_size; i++) {
     m_host_list[i - 1] = MSG_get_host_by_name(argv[i]);
-    xbt_assert1(m_host_list[i - 1] != NULL,
+    xbt_assert(m_host_list[i - 1] != NULL,
                 "Unknown host %s. Stopping Now! ", argv[i]);
   }
 
-  xbt_assert1(sscanf(argv[argc - 1], "%lg", &communication_amount),
-              "Invalid argument %s\n", argv[argc - 1]);
+  _XBT_GNUC_UNUSED int read;
+  read = sscanf(argv[argc - 1], "%lg", &communication_amount);
+  xbt_assert(read, "Invalid argument %s\n", argv[argc - 1]);
   computation_duration = (double *) calloc(host_list_size, sizeof(double));
   communication_table =
-    (double *) calloc(host_list_size * host_list_size, sizeof(double));
+      (double *) calloc(host_list_size * host_list_size, sizeof(double));
   for (i = 0; i < host_list_size; i++) {
     for (j = 0; j < host_list_size; j++)
       communication_table[i * host_list_size + j] =
-        communication_amount / (host_list_size * host_list_size);
+          communication_amount / (host_list_size * host_list_size);
   }
 
   sprintf(buffer, "redist#0\n");
@@ -115,15 +121,18 @@ int redistribute(int argc, char *argv[])
 
   redistribution_time = MSG_get_clock();
   MSG_parallel_task_execute(task);
+  MSG_task_destroy(task);
+  xbt_free(m_host_list);
   redistribution_time = MSG_get_clock() - redistribution_time;
 
-  INFO1("redistribution_time=%g ", redistribution_time);
+  XBT_INFO("redistribution_time=%g ", redistribution_time);
 
   return 0;
 }
 
 
-MSG_error_t test_all(const char *platform_file, const char *application_file)
+MSG_error_t test_all(const char *platform_file,
+                     const char *application_file)
 {
   MSG_error_t res = MSG_OK;
 
@@ -131,7 +140,6 @@ MSG_error_t test_all(const char *platform_file, const char *application_file)
   MSG_config("workstation/model", "ptask_L07");
 
   /*  Simulation setting */
-  MSG_set_channel_number(MAX_CHANNEL);
   MSG_create_environment(platform_file);
 
   /*   Application deployment */
@@ -141,7 +149,7 @@ MSG_error_t test_all(const char *platform_file, const char *application_file)
 
   res = MSG_main();
 
-  INFO1("Simulation time %g", MSG_get_clock());
+  XBT_INFO("Simulation time %g", MSG_get_clock());
   return res;
 }
 
@@ -150,7 +158,7 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     printf("Usage: %s platform_file deployment_file\n", argv[0]);
     exit(1);