Most definately. Any large sends to self would not deliver
the correct data, exhibited in NPB2.3.
Tim
Jeff Squyres wrote:
Tim --
Does this need to come over to v1.0?
On Dec 5, 2005, at 6:36 PM, twood...@osl.iu.edu wrote:
Author: twoodall
Date: 2005-12-05 18:36:33 -0500 (Mon, 05 Dec 2005)
New Revision: 8379
Modified:
trunk/ompi/mca/btl/self/btl_self.c
Log:
fix send to self for large messages
Modified: trunk/ompi/mca/btl/self/btl_self.c
===================================================================
--- trunk/ompi/mca/btl/self/btl_self.c 2005-12-03 15:38:42 UTC (rev
8378)
+++ trunk/ompi/mca/btl/self/btl_self.c 2005-12-05 23:36:33 UTC (rev
8379)
@@ -201,7 +201,7 @@
int rc;
/* non-contigous data */
- if(ompi_convertor_need_buffers(convertor) || max_data <
mca_btl_self.btl_max_send_size ) {
+ if(ompi_convertor_need_buffers(convertor) || max_data <
mca_btl_self.btl_max_send_size || reserve != 0) {
MCA_BTL_SELF_FRAG_ALLOC_SEND(frag, rc);
if(NULL == frag) {
return NULL;
@@ -237,7 +237,7 @@
return NULL;
}
frag->segment.seg_addr.pval = iov.iov_base;
- frag->segment.seg_len = reserve + max_data;
+ frag->segment.seg_len = max_data;
frag->base.des_src = &frag->segment;
frag->base.des_src_cnt = 1;
frag->base.des_dst = NULL;
@@ -326,7 +326,7 @@
mca_btl_base_segment_t* dst = des->des_dst;
size_t src_cnt = des->des_src_cnt;
size_t dst_cnt = des->des_dst_cnt;
- unsigned char* src_addr = dst->seg_addr.pval;
+ unsigned char* src_addr = src->seg_addr.pval;
size_t src_len = src->seg_len;
unsigned char* dst_addr = dst->seg_addr.pval;
size_t dst_len = dst->seg_len;
_______________________________________________
svn-full mailing list
svn-f...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/svn-full
--
{+} Jeff Squyres
{+} The Open MPI Project
{+} http://www.open-mpi.org/
_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel