|
@@ -42,6 +42,7 @@ void early_data()
|
|
|
struct _starpu_mpi_envelope envelope[2];
|
|
|
struct _starpu_mpi_node_tag node_tag[2];
|
|
|
struct _starpu_mpi_early_data_handle *early;
|
|
|
+ struct _starpu_mpi_early_data_handle_tag_hashlist *hash;
|
|
|
|
|
|
memset(&node_tag[0], 0, sizeof(struct _starpu_mpi_node_tag));
|
|
|
node_tag[0].node.rank = 1;
|
|
@@ -62,9 +63,13 @@ void early_data()
|
|
|
_starpu_mpi_early_data_add(edh[0]);
|
|
|
_starpu_mpi_early_data_add(edh[1]);
|
|
|
|
|
|
- early = _starpu_mpi_early_data_find(&node_tag[0]);
|
|
|
+ hash = _starpu_mpi_early_data_extract(&node_tag[0]);
|
|
|
+ STARPU_ASSERT(_starpu_mpi_early_data_handle_list_size(&hash->list) == 1);
|
|
|
+ early = _starpu_mpi_early_data_handle_list_pop_front(&hash->list);
|
|
|
STARPU_ASSERT(early->node_tag.node.comm == node_tag[0].node.comm && early->node_tag.node.rank == node_tag[0].node.rank && early->node_tag.data_tag == node_tag[0].data_tag);
|
|
|
+ STARPU_ASSERT(_starpu_mpi_early_data_handle_list_size(&hash->list) == 0);
|
|
|
_starpu_mpi_early_data_delete(early);
|
|
|
+ free(hash);
|
|
|
|
|
|
early = _starpu_mpi_early_data_find(&node_tag[1]);
|
|
|
STARPU_ASSERT(early->node_tag.node.comm == node_tag[1].node.comm && early->node_tag.node.rank == node_tag[1].node.rank && early->node_tag.data_tag == node_tag[1].data_tag);
|
|
@@ -75,6 +80,7 @@ void early_request()
|
|
|
{
|
|
|
struct _starpu_mpi_req req[2];
|
|
|
struct _starpu_mpi_req *early;
|
|
|
+ struct _starpu_mpi_early_request_tag_hashlist *hash;
|
|
|
|
|
|
memset(&req[0].node_tag, 0, sizeof(struct _starpu_mpi_node_tag));
|
|
|
req[0].node_tag.node.rank = 1;
|
|
@@ -92,8 +98,12 @@ void early_request()
|
|
|
early = _starpu_mpi_early_request_dequeue(req[0].node_tag.data_tag, req[0].node_tag.node.rank, req[0].node_tag.node.comm);
|
|
|
STARPU_ASSERT(early->node_tag.data_tag == req[0].node_tag.data_tag && early->node_tag.node.rank == req[0].node_tag.node.rank && early->node_tag.node.comm == req[0].node_tag.node.comm);
|
|
|
|
|
|
- early = _starpu_mpi_early_request_dequeue(req[1].node_tag.data_tag, req[1].node_tag.node.rank, req[1].node_tag.node.comm);
|
|
|
+ hash = _starpu_mpi_early_request_extract(req[1].node_tag.data_tag, req[1].node_tag.node.rank, req[1].node_tag.node.comm);
|
|
|
+ STARPU_ASSERT(_starpu_mpi_req_list_size(&hash->list) == 1);
|
|
|
+ early = _starpu_mpi_req_list_pop_front(&hash->list);
|
|
|
+ STARPU_ASSERT(_starpu_mpi_req_list_size(&hash->list) == 0);
|
|
|
STARPU_ASSERT(early->node_tag.data_tag == req[1].node_tag.data_tag && early->node_tag.node.rank == req[1].node_tag.node.rank && early->node_tag.node.comm == req[1].node_tag.node.comm);
|
|
|
+ free(hash);
|
|
|
}
|
|
|
|
|
|
int main(int argc, char **argv)
|