[mpich2-commits] r6647 - mpich2/trunk/src/mpid/ch3/include

thakur at mcs.anl.gov thakur at mcs.anl.gov
Fri May 14 15:39:19 CDT 2010


Author: thakur
Date: 2010-05-14 15:39:19 -0500 (Fri, 14 May 2010)
New Revision: 6647

Modified:
   mpich2/trunk/src/mpid/ch3/include/mpidimpl.h
Log:
data size calculation needs to be type cast to MPIDI_msg_sz_t, otherwise it becomes negative if > 2GB. Fixes communication part of ticket #1005. Get_count still fails.

Modified: mpich2/trunk/src/mpid/ch3/include/mpidimpl.h
===================================================================
--- mpich2/trunk/src/mpid/ch3/include/mpidimpl.h	2010-05-14 00:03:07 UTC (rev 6646)
+++ mpich2/trunk/src/mpid/ch3/include/mpidimpl.h	2010-05-14 20:39:19 UTC (rev 6647)
@@ -155,7 +155,7 @@
 	(dt_ptr_) = NULL;						\
 	(dt_contig_out_) = TRUE;					\
         (dt_true_lb_)    = 0;                                           \
-	(data_sz_out_) = (count_) * MPID_Datatype_get_basic_size(datatype_);\
+	(data_sz_out_) = (MPIDI_msg_sz_t) (count_) * MPID_Datatype_get_basic_size(datatype_); \
 	MPIDI_DBG_PRINTF((15, FCNAME, "basic datatype: dt_contig=%d, dt_sz=%d, data_sz=" MPIDI_MSG_SZ_FMT,\
 			  (dt_contig_out_), MPID_Datatype_get_basic_size(datatype_), (data_sz_out_)));\
     }									\
@@ -163,7 +163,7 @@
     {									\
 	MPID_Datatype_get_ptr((datatype_), (dt_ptr_));			\
 	(dt_contig_out_) = (dt_ptr_)->is_contig;			\
-	(data_sz_out_) = (count_) * (dt_ptr_)->size;			\
+	(data_sz_out_) = (MPIDI_msg_sz_t) (count_) * (dt_ptr_)->size;	\
         (dt_true_lb_)    = (dt_ptr_)->true_lb;                          \
 	MPIDI_DBG_PRINTF((15, FCNAME, "user defined datatype: dt_contig=%d, dt_sz=%d, data_sz=" MPIDI_MSG_SZ_FMT,\
 			  (dt_contig_out_), (dt_ptr_)->size, (data_sz_out_)));\



More information about the mpich2-commits mailing list