Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'mc' into mc++
[simgrid.git] / teshsuite / simdag / network / mxn / test_intra_all2all.c
1 /* Latency tests                                                            */
2
3 /* Copyright (c) 2007, 2009-2011, 2013-2014. The SimGrid Team.
4  * All rights reserved.                                                     */
5
6 /* This program is free software; you can redistribute it and/or modify it
7  * under the terms of the license (GNU LGPL) which comes with this package. */
8
9 #include <stdio.h>
10 #include <stdlib.h>
11
12 #include "simdag/simdag.h"
13
14 /*
15  * intra communication test
16  * All2All
17  * 
18  * send 1 byte from all to all
19  * + 2 secs latency
20  * should be 8  (platform_4p_1switch.xml)
21  * 
22  */
23
24 int main(int argc, char **argv)
25 {
26   double time;
27   SD_task_t task;
28   xbt_dynar_t ret;
29
30   double communication_amount[] = { 0.0, 1.0, 1.0, 1.0,
31     1.0, 0.0, 1.0, 1.0,
32     1.0, 1.0, 0.0, 1.0,
33     1.0, 1.0, 1.0, 0.0,
34   };
35
36   double no_cost[] = { 0.0, 0.0, 0.0, 0.0 };
37
38
39   /***************************************/
40
41   SD_init(&argc, argv);
42   SD_create_environment(argv[1]);
43
44   task = SD_task_create("All2all task", NULL, 1.0);
45
46   SD_task_schedule(task, 4, SD_workstation_get_list(), no_cost,
47                    communication_amount, -1.0);
48
49   ret = SD_simulate(-1.0);
50   xbt_dynar_free(&ret);
51
52   time = SD_get_clock();
53
54   printf("%g\n", time);
55   fflush(stdout);
56
57   SD_task_destroy(task);
58
59   SD_exit();
60
61   return 0;
62 }