-/* Copyright (c) 2013-2019. The SimGrid Team.
+/* Copyright (c) 2013-2021. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
int bcast_NTSB_segment_size_in_byte = 8192;
namespace simgrid{
namespace smpi{
-int Coll_bcast_NTSB::bcast(void *buf, int count, MPI_Datatype datatype,
- int root, MPI_Comm comm)
+int bcast__NTSB(void *buf, int count, MPI_Datatype datatype,
+ int root, MPI_Comm comm)
{
int tag = COLL_TAG_BCAST;
MPI_Status status;
Request::recv(buf, count, datatype, from, tag, comm, &status);
}
- /* case: intermidiate node with only left child ==> relay message */
+ /* case: intermediate node with only left child ==> relay message */
else if (to_right == -1) {
Request::recv(buf, count, datatype, from, tag, comm, &status);
Request::send(buf, count, datatype, to_left, tag, comm);
}
- /* case: intermidiate node with both left and right children ==> relay message */
+ /* case: intermediate node with both left and right children ==> relay message */
else {
Request::recv(buf, count, datatype, from, tag, comm, &status);
Request::send(buf, count, datatype, to_left, tag, comm);
// pipelining
else {
- MPI_Request* send_request_array = new MPI_Request[2 * (size + pipe_length)];
- MPI_Request* recv_request_array = new MPI_Request[size + pipe_length];
- MPI_Status* send_status_array = new MPI_Status[2 * (size + pipe_length)];
- MPI_Status* recv_status_array = new MPI_Status[size + pipe_length];
+ auto* send_request_array = new MPI_Request[2 * (size + pipe_length)];
+ auto* recv_request_array = new MPI_Request[size + pipe_length];
+ auto* send_status_array = new MPI_Status[2 * (size + pipe_length)];
+ auto* recv_status_array = new MPI_Status[size + pipe_length];
/* case: root */
if (rank == 0) {
Request::waitall((pipe_length), recv_request_array, recv_status_array);
}
- /* case: intermidiate node with only left child ==> relay message */
+ /* case: intermediate node with only left child ==> relay message */
else if (to_right == -1) {
for (i = 0; i < pipe_length; i++) {
recv_request_array[i] = Request::irecv((char *) buf + (i * increment), segment, datatype, from,
Request::waitall(pipe_length, send_request_array, send_status_array);
}
- /* case: intermidiate node with both left and right children ==> relay message */
+ /* case: intermediate node with both left and right children ==> relay message */
else {
for (i = 0; i < pipe_length; i++) {
recv_request_array[i] = Request::irecv((char *) buf + (i * increment), segment, datatype, from,
/* when count is not divisible by block size, use default BCAST for the remainder */
if ((remainder != 0) && (count > segment)) {
XBT_WARN("MPI_bcast_NTSB use default MPI_bcast.");
- Colls::bcast((char *) buf + (pipe_length * increment), remainder, datatype,
- root, comm);
+ colls::bcast((char*)buf + (pipe_length * increment), remainder, datatype, root, comm);
}
return MPI_SUCCESS;