X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b7ed19dfcc221d7b3eca182abb5c4a3946671172..befbbbe1fbb31663a8f91e24ce12df271cf4ae79:/src/smpi/colls/bcast/bcast-arrival-pattern-aware.cpp diff --git a/src/smpi/colls/bcast/bcast-arrival-pattern-aware.cpp b/src/smpi/colls/bcast/bcast-arrival-pattern-aware.cpp index 9138d9290d..102be48d22 100644 --- a/src/smpi/colls/bcast/bcast-arrival-pattern-aware.cpp +++ b/src/smpi/colls/bcast/bcast-arrival-pattern-aware.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2013-2014. The SimGrid Team. +/* Copyright (c) 2013-2017. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -11,6 +11,8 @@ static int bcast_NTSL_segment_size_in_byte = 8192; #define HEADER_SIZE 1024 #define MAX_NODE 1024 +namespace simgrid{ +namespace smpi{ /* Non-topology-specific pipelined linear-bcast function */ int Coll_bcast_arrival_pattern_aware::bcast(void *buf, int count, MPI_Datatype datatype, int root, @@ -51,14 +53,14 @@ int Coll_bcast_arrival_pattern_aware::bcast(void *buf, int count, /* segment is segment size in number of elements (not bytes) */ int segment = bcast_NTSL_segment_size_in_byte / extent; - segment = segment == 0 ? 1 :segment; + segment = segment == 0 ? 1 :segment; /* pipeline length */ int pipe_length = count / segment; /* use for buffer offset for sending and receiving data = segment size in byte */ int increment = segment * extent; - /* if the input size is not divisible by segment size => + /* if the input size is not divisible by segment size => the small remainder will be done with native implementation */ int remainder = count % segment; @@ -345,7 +347,7 @@ int Coll_bcast_arrival_pattern_aware::bcast(void *buf, int count, }else{ Request::waitall(pipe_length, recv_request_array, recv_status_array); } - + } free(send_request_array); @@ -356,9 +358,12 @@ int Coll_bcast_arrival_pattern_aware::bcast(void *buf, int count, /* when count is not divisible by block size, use default BCAST for the remainder */ if ((remainder != 0) && (count > segment)) { - XBT_WARN("MPI_bcast_arrival_pattern_aware use default MPI_bcast."); + XBT_WARN("MPI_bcast_arrival_pattern_aware use default MPI_bcast."); Colls::bcast((char *)buf + (pipe_length * increment), remainder, datatype, root, comm); } return MPI_SUCCESS; } + +} +}