aboutsummaryrefslogtreecommitdiff
path: root/src/testbed/gnunet_mpi_test.c
diff options
context:
space:
mode:
authorSree Harsha Totakura <totakura@in.tum.de>2012-12-07 15:46:25 +0000
committerSree Harsha Totakura <totakura@in.tum.de>2012-12-07 15:46:25 +0000
commit0d45e157a134a01ec59e8fc564918a1caa5070c4 (patch)
treeb3ca74f32caed644d7bb212c1f73c463602ccc3c /src/testbed/gnunet_mpi_test.c
parent48b428a4e66e8cf40afac812e4abb97831360501 (diff)
downloadgnunet-0d45e157a134a01ec59e8fc564918a1caa5070c4.tar.gz
gnunet-0d45e157a134a01ec59e8fc564918a1caa5070c4.zip
- MPI test program
Diffstat (limited to 'src/testbed/gnunet_mpi_test.c')
-rw-r--r--src/testbed/gnunet_mpi_test.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/testbed/gnunet_mpi_test.c b/src/testbed/gnunet_mpi_test.c
new file mode 100644
index 000000000..26e6fdac1
--- /dev/null
+++ b/src/testbed/gnunet_mpi_test.c
@@ -0,0 +1,36 @@
1#include "platform.h"
2#include "gnunet_util_lib.h"
3#include <mpi.h>
4
5int main (int argc, char *argv[])
6{
7 char *msg;
8 char *filename;
9 pid_t pid;
10 int ntasks;
11 int rank;
12 int msg_size;
13 int ret;
14
15 ret = GNUNET_SYSERR;
16 if (MPI_SUCCESS != MPI_Init (&argc, &argv))
17 return 1;
18 if (MPI_SUCCESS != MPI_Comm_size (MPI_COMM_WORLD, &ntasks))
19 goto finalize;
20 if (MPI_SUCCESS != MPI_Comm_rank (MPI_COMM_WORLD, &rank))
21 goto finalize;
22 (void) GNUNET_asprintf (&filename, "%d.mpiout", rank);
23 msg_size = GNUNET_asprintf (&msg, "My rank is: %d\n", rank);
24 if (msg_size == GNUNET_DISK_fn_write (filename,
25 msg, msg_size,
26 GNUNET_DISK_PERM_USER_READ
27 | GNUNET_DISK_PERM_GROUP_READ
28 | GNUNET_DISK_PERM_USER_WRITE
29 | GNUNET_DISK_PERM_GROUP_WRITE))
30 ret = GNUNET_OK;
31 GNUNET_free (filename);
32 GNUNET_free (msg);
33 finalize:
34 (void) MPI_Finalize ();
35 return (GNUNET_OK == ret) ? 0 : 1;
36}