-/* Copyright (c) 2013-2017. The SimGrid Team.
+/* Copyright (c) 2013-2020. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
namespace simgrid{
namespace smpi{
-int Coll_bcast_ompi_pipeline::bcast( void* buffer,
- int original_count,
- MPI_Datatype datatype,
- int root,
- MPI_Comm comm)
+int bcast__ompi_pipeline( void* buffer,
+ int original_count,
+ MPI_Datatype datatype,
+ int root,
+ MPI_Comm comm)
{
int count_by_segment = original_count;
size_t type_size;
char *tmpbuf;
ptrdiff_t extent;
MPI_Request recv_reqs[2] = {MPI_REQUEST_NULL, MPI_REQUEST_NULL};
- MPI_Request *send_reqs = NULL;
+ MPI_Request* send_reqs = nullptr;
int req_index;
/**
tmpbuf = (char *) buffer;
if( tree->tree_nextsize != 0 ) {
- send_reqs = xbt_new(MPI_Request, tree->tree_nextsize );
+ send_reqs = new MPI_Request[tree->tree_nextsize];
}
/* Root code */
Request::wait( &recv_reqs[req_index], MPI_STATUS_IGNORE );
}
- if( NULL != send_reqs ) free(send_reqs);
- xbt_free(tree);
+ delete[] send_reqs;
+ ompi_coll_tuned_topo_destroy_tree(&tree);
return (MPI_SUCCESS);
}