datatype->extent(&true_lb, &true_extent);
//MPI_Op *op_ptr;
- //is_commutative = op->is_commutative();
+ is_commutative = op->is_commutative();
{
int range = 0, range_threshold = 0, range_threshold_intra = 0;
int range = 0;
int range_threshold = 0;
int range_threshold_intra = 0;
- int is_homogeneous, is_contig;
+ int is_homogeneous;
+//, is_contig;
MPI_Aint type_size;
//, position;
void *tmp_buf = NULL;
comm_size = comm->size();
//rank = comm->rank();
- is_contig=1;
+ //is_contig=1;
/* if (HANDLE_GET_KIND(datatype) == HANDLE_KIND_BUILTIN)*/
/* is_contig = 1;*/
/* else {*/
mv2_bcast_thresholds_table[range].is_two_level_bcast[range_threshold];
#endif
if (two_level_bcast == 1) {
- if (not is_contig || not is_homogeneous) {
+ if (not is_homogeneous) {
+ //if (not is_contig || not is_homogeneous) {
tmp_buf = (void*)smpi_get_tmp_sendbuffer(nbytes);
/* position = 0;*/
#ifdef CHANNEL_MRAIL_GEN2
if ((mv2_enable_zcpy_bcast == 1) &&
(&MPIR_Pipelined_Bcast_Zcpy_MV2 == MV2_Bcast_function)) {
- if (not is_contig || not is_homogeneous) {
+ if (not is_homogeneous) {
+ //if (not is_contig || not is_homogeneous) {
mpi_errno = MPIR_Pipelined_Bcast_Zcpy_MV2(tmp_buf, nbytes, MPI_BYTE, root, comm);
} else {
mpi_errno = MPIR_Pipelined_Bcast_Zcpy_MV2(buffer, count, datatype,
#endif /* defined(CHANNEL_MRAIL_GEN2) */
{
shmem_comm = comm->get_intra_comm();
- if (not is_contig || not is_homogeneous) {
+ if (not is_homogeneous) {
+ //if (not is_contig || not is_homogeneous) {
MPIR_Bcast_tune_inter_node_helper_MV2(tmp_buf, nbytes, MPI_BYTE, root, comm);
} else {
MPIR_Bcast_tune_inter_node_helper_MV2(buffer, count, datatype, root, comm);
root = INTRA_NODE_ROOT;
- if (not is_contig || not is_homogeneous) {
+ //if (not is_contig || not is_homogeneous) {
+ if (not is_homogeneous) {
mpi_errno = MV2_Bcast_intra_node_function(tmp_buf, nbytes, MPI_BYTE, root, shmem_comm);
} else {
mpi_errno = MV2_Bcast_intra_node_function(buffer, count,