<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2900.2802" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Dear All,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>I am a newer for One Sided-Communcation. I have a 
question how to create a window for 2D array. For example, I create a 2D double 
array by this function:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>double**&nbsp;NewMPI2_2DPointer(int n1D, int 
n2D)</FONT></DIV>
<DIV><FONT face=Arial size=2>{ double **pp;</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp; int error;</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp; error = MPI_Alloc_mem(n1D * sizeof(double*), 
MPI_INFO_NULL, &amp;pp);<BR>&nbsp; if (error != 
MPI_SUCCESS)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp; &nbsp;printf("Memory allocation 
failed for PP 1D array, aborting.\n");<BR>&nbsp;&nbsp;&nbsp; 
MPI_Abort(MPI_COMM_WORLD, -1);<BR>&nbsp;&nbsp;&nbsp; exit(-1);<BR>&nbsp; 
}</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;for(i=0; i&lt;n1D; 
i++)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp; error = MPI_Alloc_mem(n2D * 
sizeof(double), MPI_INFO_NULL, &amp;pp[i]);<BR>&nbsp;&nbsp; &nbsp;if (error != 
MPI_SUCCESS)<BR>&nbsp; &nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;printf("Memory allocation failed for PP 1D array, 
aborting.\n");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
MPI_Abort(MPI_COMM_WORLD, -1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;exit(-1);<BR>&nbsp;&nbsp; &nbsp;}<BR>&nbsp; }</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>}</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>I want to create a window for this 
memory:</FONT></DIV>
<DIV><FONT face=Arial size=2>Like:</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;&nbsp; &nbsp;error = MPI_Win_create(pp, 
n1D, sizeof(double*), MPI_INFO_NULL, MPI_COMM_WORLD, &amp;win);<BR></FONT></DIV>
<DIV><FONT face=Arial size=2>or should be</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;&nbsp;&nbsp;error = MPI_Win_create(pp, 
n1D*n2D, sizeof(double), MPI_INFO_NULL, MPI_COMM_WORLD, 
&amp;win);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</FONT></DIV>
<DIV><FONT face=Arial size=2>Which is the right? Please tell me! THanks very 
much!</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Tao</FONT></DIV></BODY></HTML>