|
@@ -22,6 +22,9 @@
|
|
|
#include <starpu_mpi.h>
|
|
|
#include "../helper.h"
|
|
|
|
|
|
+#define DATA0_TAG 12
|
|
|
+#define DATA1_TAG 22
|
|
|
+
|
|
|
void func_cpu(void *descr[], void *_args)
|
|
|
{
|
|
|
int *value = (int *)STARPU_VARIABLE_GET_PTR(descr[0]);
|
|
@@ -95,17 +98,17 @@ int main(int argc, char **argv)
|
|
|
{
|
|
|
starpu_variable_data_register(&data[0], STARPU_MAIN_RAM, (uintptr_t)&rank, sizeof(int));
|
|
|
starpu_variable_data_register(&data[1], STARPU_MAIN_RAM, (uintptr_t)&rank, sizeof(int));
|
|
|
- starpu_mpi_data_register_comm(data[1], 22, 0, newcomm);
|
|
|
+ starpu_mpi_data_register_comm(data[1], DATA1_TAG, 0, newcomm);
|
|
|
}
|
|
|
else
|
|
|
starpu_variable_data_register(&data[0], -1, (uintptr_t)NULL, sizeof(int));
|
|
|
- starpu_mpi_data_register_comm(data[0], 12, 0, newcomm);
|
|
|
+ starpu_mpi_data_register_comm(data[0], DATA0_TAG, 0, newcomm);
|
|
|
|
|
|
if (newrank == 0)
|
|
|
{
|
|
|
starpu_mpi_req req[2];
|
|
|
- starpu_mpi_issend(data[1], &req[0], 1, 22, newcomm);
|
|
|
- starpu_mpi_isend(data[0], &req[1], 1, 12, newcomm);
|
|
|
+ starpu_mpi_issend(data[1], &req[0], 1, DATA1_TAG, newcomm);
|
|
|
+ starpu_mpi_isend(data[0], &req[1], 1, DATA0_TAG, newcomm);
|
|
|
starpu_mpi_wait(&req[0], MPI_STATUS_IGNORE);
|
|
|
starpu_mpi_wait(&req[1], MPI_STATUS_IGNORE);
|
|
|
}
|
|
@@ -113,7 +116,7 @@ int main(int argc, char **argv)
|
|
|
{
|
|
|
int *xx;
|
|
|
|
|
|
- starpu_mpi_recv(data[0], 0, 12, newcomm, MPI_STATUS_IGNORE);
|
|
|
+ starpu_mpi_recv(data[0], 0, DATA0_TAG, newcomm, MPI_STATUS_IGNORE);
|
|
|
starpu_data_acquire(data[0], STARPU_RW);
|
|
|
xx = (int *)starpu_variable_get_local_ptr(data[0]);
|
|
|
starpu_data_release(data[0]);
|
|
@@ -121,8 +124,8 @@ int main(int argc, char **argv)
|
|
|
STARPU_ASSERT_MSG(x==*xx, "Received value %d is incorrect (should be %d)\n", *xx, x);
|
|
|
|
|
|
starpu_variable_data_register(&data[1], -1, (uintptr_t)NULL, sizeof(int));
|
|
|
- starpu_mpi_data_register_comm(data[1], 22, 0, newcomm);
|
|
|
- starpu_mpi_recv(data[0], 0, 22, newcomm, MPI_STATUS_IGNORE);
|
|
|
+ starpu_mpi_data_register_comm(data[1], DATA1_TAG, 0, newcomm);
|
|
|
+ starpu_mpi_recv(data[0], 0, DATA1_TAG, newcomm, MPI_STATUS_IGNORE);
|
|
|
starpu_data_acquire(data[0], STARPU_RW);
|
|
|
xx = (int *)starpu_variable_get_local_ptr(data[0]);
|
|
|
starpu_data_release(data[0]);
|