<font size=2 face="sans-serif">Pavan,</font>
<br>
<br><font size=2 face="sans-serif">There are a number of MPI_Aint changes
that are not in 1.1. For example, there is a block of changes in
configure.in that relates to this, and it is only in the BGP version.</font>
<br>
<br>
<br>
<br><font size=2 face="sans-serif">Christina,</font>
<br>
<br><font size=2 face="sans-serif">I ran it on our system and is exited
without error after creating an 8GB file. You can find the patches
here:</font>
<br><a href="http://dcmf.anl-external.org/patches/patch-delete"><tt><font size=2>http://dcmf.anl-external.org/patches/patch-delete</font></tt></a>
<br><a href="http://dcmf.anl-external.org/patches/1.1.0.patch.gz"><tt><font size=2>http://dcmf.anl-external.org/patches/1.1.0.patch.gz</font></tt></a>
<br><a href="http://dcmf.anl-external.org/patches/1.0.7.patch.gz"><tt><font size=2>http://dcmf.anl-external.org/patches/1.0.7.patch.gz</font></tt></a>
<br>
<br><font size=2 face="sans-serif">The 1.0.7, the patch should apply normally.
The 1.1.0 version was changed to be a lot smaller by not including
deleted files; you will have to run "patch-delete" against the
resultant tree:</font>
<br><tt><font size=2>zcat patch.gz | patch -p0 --force --directory=mpich2-1.1</font></tt>
<br><tt><font size=2>zcat patch.gz | ./patch-delete --directory=mpich2-1.1</font></tt>
<br>
<br><font size=2 face="sans-serif">For both, you will also have to do a
"developer style build" (see link), and use the "--with-aint-size=8"
that Pavan mentioned.</font>
<br><a href=http://wiki.mcs.anl.gov/mpich2/index.php/Getting_And_Building_MPICH2><tt><font size=2>http://wiki.mcs.anl.gov/mpich2/index.php/Getting_And_Building_MPICH2</font></tt></a>
<br>
<br>
<br>
<br><font size=2 face="sans-serif">$ mpirun -np 16 io</font>
<br><font size=2 face="sans-serif">rows
= 32768</font>
<br><font size=2 face="sans-serif">rows
= 32768</font>
<br><font size=2 face="sans-serif">rows
= 32768</font>
<br><font size=2 face="sans-serif">rows
= 32768</font>
<br><font size=2 face="sans-serif">rows
= 32768</font>
<br><font size=2 face="sans-serif">rows
= 32768</font>
<br><font size=2 face="sans-serif">rows
= 32768</font>
<br><font size=2 face="sans-serif">rows
= 32768</font>
<br><font size=2 face="sans-serif">rows
= 32768</font>
<br><font size=2 face="sans-serif">cols
= 32768</font>
<br><font size=2 face="sans-serif">rows
= 32768</font>
<br><font size=2 face="sans-serif">rows
= 32768</font>
<br><font size=2 face="sans-serif">rows
= 32768</font>
<br><font size=2 face="sans-serif">rows
= 32768</font>
<br><font size=2 face="sans-serif">cols
= 32768</font>
<br><font size=2 face="sans-serif">rows
= 32768</font>
<br><font size=2 face="sans-serif">Filesize
= 0</font>
<br><font size=2 face="sans-serif">cols
= 32768</font>
<br><font size=2 face="sans-serif">rows
= 32768</font>
<br><font size=2 face="sans-serif">cols
= 32768</font>
<br><font size=2 face="sans-serif">cols
= 32768</font>
<br><font size=2 face="sans-serif">cols
= 32768</font>
<br><font size=2 face="sans-serif">cols
= 32768</font>
<br><font size=2 face="sans-serif">cols
= 32768</font>
<br><font size=2 face="sans-serif">cols
= 32768</font>
<br><font size=2 face="sans-serif">Element size = 8</font>
<br><font size=2 face="sans-serif">cols
= 32768</font>
<br><font size=2 face="sans-serif">cols
= 32768</font>
<br><font size=2 face="sans-serif">cols
= 32768</font>
<br><font size=2 face="sans-serif">cols
= 32768</font>
<br><font size=2 face="sans-serif">Element size = 8</font>
<br><font size=2 face="sans-serif">cols
= 32768</font>
<br><font size=2 face="sans-serif">rows
= 32768</font>
<br><font size=2 face="sans-serif">Element size = 8</font>
<br><font size=2 face="sans-serif">cols
= 32768</font>
<br><font size=2 face="sans-serif">Element size = 8</font>
<br><font size=2 face="sans-serif">Element size = 8</font>
<br><font size=2 face="sans-serif">Element size = 8</font>
<br><font size=2 face="sans-serif">Element size = 8</font>
<br><font size=2 face="sans-serif">Element size = 8</font>
<br><font size=2 face="sans-serif">Element size = 8</font>
<br><font size=2 face="sans-serif">Filesize
= 0</font>
<br><font size=2 face="sans-serif">Element size = 8</font>
<br><font size=2 face="sans-serif">Element size = 8</font>
<br><font size=2 face="sans-serif">Element size = 8</font>
<br><font size=2 face="sans-serif">Element size = 8</font>
<br><font size=2 face="sans-serif">Filesize
= 0</font>
<br><font size=2 face="sans-serif">Element size = 8</font>
<br><font size=2 face="sans-serif">cols
= 32768</font>
<br><font size=2 face="sans-serif">Filesize
= 0</font>
<br><font size=2 face="sans-serif">Element size = 8</font>
<br><font size=2 face="sans-serif">Filesize
= 0</font>
<br><font size=2 face="sans-serif">Filesize
= 0</font>
<br><font size=2 face="sans-serif">Filesize
= 0</font>
<br><font size=2 face="sans-serif">Filesize
= 0</font>
<br><font size=2 face="sans-serif">Filesize
= 0</font>
<br><font size=2 face="sans-serif">Filesize
= 0</font>
<br><font size=2 face="sans-serif">Coll buf size = 8388608</font>
<br><font size=2 face="sans-serif">Filesize
= 0</font>
<br><font size=2 face="sans-serif">Filesize
= 0</font>
<br><font size=2 face="sans-serif">Filesize
= 0</font>
<br><font size=2 face="sans-serif">Filesize
= 0</font>
<br><font size=2 face="sans-serif">Coll buf size = 8388608</font>
<br><font size=2 face="sans-serif">Filesize
= 0</font>
<br><font size=2 face="sans-serif">Element size = 8</font>
<br><font size=2 face="sans-serif">Coll buf size = 8388608</font>
<br><font size=2 face="sans-serif">Filesize
= 0</font>
<br><font size=2 face="sans-serif">Coll buf size = 8388608</font>
<br><font size=2 face="sans-serif">Coll buf size = 8388608</font>
<br><font size=2 face="sans-serif">Coll buf size = 8388608</font>
<br><font size=2 face="sans-serif">Coll buf size = 8388608</font>
<br><font size=2 face="sans-serif">Coll buf size = 8388608</font>
<br><font size=2 face="sans-serif">Coll buf size = 8388608</font>
<br><font size=2 face="sans-serif">Rows in coll buf = 512</font>
<br><font size=2 face="sans-serif">Coll buf size = 8388608</font>
<br><font size=2 face="sans-serif">Coll buf size = 8388608</font>
<br><font size=2 face="sans-serif">Coll buf size = 8388608</font>
<br><font size=2 face="sans-serif">Coll buf size = 8388608</font>
<br><font size=2 face="sans-serif">Rows in coll buf = 512</font>
<br><font size=2 face="sans-serif">Coll buf size = 8388608</font>
<br><font size=2 face="sans-serif">Filesize
= 0</font>
<br><font size=2 face="sans-serif">Rows in coll buf = 512</font>
<br><font size=2 face="sans-serif">Coll buf size = 8388608</font>
<br><font size=2 face="sans-serif">Rows in coll buf = 512</font>
<br><font size=2 face="sans-serif">Rows in coll buf = 512</font>
<br><font size=2 face="sans-serif">Rows in coll buf = 512</font>
<br><font size=2 face="sans-serif">Rows in coll buf = 512</font>
<br><font size=2 face="sans-serif">Rows in coll buf = 512</font>
<br><font size=2 face="sans-serif">Rows in coll buf = 512</font>
<br><font size=2 face="sans-serif">Cols in coll buf = 2048</font>
<br><font size=2 face="sans-serif">Rows in coll buf = 512</font>
<br><font size=2 face="sans-serif">Rows in coll buf = 512</font>
<br><font size=2 face="sans-serif">Rows in coll buf = 512</font>
<br><font size=2 face="sans-serif">Rows in coll buf = 512</font>
<br><font size=2 face="sans-serif">Cols in coll buf = 2048</font>
<br><font size=2 face="sans-serif">Rows in coll buf = 512</font>
<br><font size=2 face="sans-serif">Coll buf size = 8388608</font>
<br><font size=2 face="sans-serif">Cols in coll buf = 2048</font>
<br><font size=2 face="sans-serif">Rows in coll buf = 512</font>
<br><font size=2 face="sans-serif">Cols in coll buf = 2048</font>
<br><font size=2 face="sans-serif">Cols in coll buf = 2048</font>
<br><font size=2 face="sans-serif">Cols in coll buf = 2048</font>
<br><font size=2 face="sans-serif">Cols in coll buf = 2048</font>
<br><font size=2 face="sans-serif">Cols in coll buf = 2048</font>
<br><font size=2 face="sans-serif">Cols in coll buf = 2048</font>
<br><font size=2 face="sans-serif">array_size[] = {32768,
32768}</font>
<br><font size=2 face="sans-serif">Cols in coll buf = 2048</font>
<br><font size=2 face="sans-serif">Cols in coll buf = 2048</font>
<br><font size=2 face="sans-serif">Cols in coll buf = 2048</font>
<br><font size=2 face="sans-serif">Cols in coll buf = 2048</font>
<br><font size=2 face="sans-serif">array_size[] = {32768,
32768}</font>
<br><font size=2 face="sans-serif">Cols in coll buf = 2048</font>
<br><font size=2 face="sans-serif">Rows in coll buf = 512</font>
<br><font size=2 face="sans-serif">array_size[] = {32768,
32768}</font>
<br><font size=2 face="sans-serif">Cols in coll buf = 2048</font>
<br><font size=2 face="sans-serif">array_size[] = {32768,
32768}</font>
<br><font size=2 face="sans-serif">array_size[] = {32768,
32768}</font>
<br><font size=2 face="sans-serif">array_size[] = {32768,
32768}</font>
<br><font size=2 face="sans-serif">array_size[] = {32768,
32768}</font>
<br><font size=2 face="sans-serif">array_size[] = {32768,
32768}</font>
<br><font size=2 face="sans-serif">array_size[] = {32768,
32768}</font>
<br><font size=2 face="sans-serif">array_subsize[] = {32768, 2048}</font>
<br><font size=2 face="sans-serif">array_size[] = {32768,
32768}</font>
<br><font size=2 face="sans-serif">array_size[] = {32768,
32768}</font>
<br><font size=2 face="sans-serif">array_size[] = {32768,
32768}</font>
<br><font size=2 face="sans-serif">array_size[] = {32768,
32768}</font>
<br><font size=2 face="sans-serif">array_subsize[] = {32768, 2048}</font>
<br><font size=2 face="sans-serif">array_size[] = {32768,
32768}</font>
<br><font size=2 face="sans-serif">Cols in coll buf = 2048</font>
<br><font size=2 face="sans-serif">array_subsize[] = {32768, 2048}</font>
<br><font size=2 face="sans-serif">array_size[] = {32768,
32768}</font>
<br><font size=2 face="sans-serif">array_subsize[] = {32768, 2048}</font>
<br><font size=2 face="sans-serif">array_subsize[] = {32768, 2048}</font>
<br><font size=2 face="sans-serif">array_subsize[] = {32768, 2048}</font>
<br><font size=2 face="sans-serif">array_subsize[] = {32768, 2048}</font>
<br><font size=2 face="sans-serif">array_subsize[] = {32768, 2048}</font>
<br><font size=2 face="sans-serif">array_subsize[] = {32768, 2048}</font>
<br><font size=2 face="sans-serif">array_start[] = {0, 14336}</font>
<br><font size=2 face="sans-serif">array_subsize[] = {32768, 2048}</font>
<br><font size=2 face="sans-serif">array_subsize[] = {32768, 2048}</font>
<br><font size=2 face="sans-serif">array_subsize[] = {32768, 2048}</font>
<br><font size=2 face="sans-serif">array_subsize[] = {32768, 2048}</font>
<br><font size=2 face="sans-serif">array_start[] = {0, 22528}</font>
<br><font size=2 face="sans-serif">array_subsize[] = {32768, 2048}</font>
<br><font size=2 face="sans-serif">array_size[] = {32768,
32768}</font>
<br><font size=2 face="sans-serif">array_start[] = {0, 28672}</font>
<br><font size=2 face="sans-serif">array_subsize[] = {32768, 2048}</font>
<br><font size=2 face="sans-serif">array_start[] = {0, 4096}</font>
<br><font size=2 face="sans-serif">array_start[] = {0, 6144}</font>
<br><font size=2 face="sans-serif">array_start[] = {0, 12288}</font>
<br><font size=2 face="sans-serif">array_start[] = {0, 18432}</font>
<br><font size=2 face="sans-serif">array_start[] = {0, 2048}</font>
<br><font size=2 face="sans-serif">array_start[] = {0, 30720}</font>
<br><font size=2 face="sans-serif">array_start[] = {0, 20480}</font>
<br><font size=2 face="sans-serif">array_start[] = {0, 24576}</font>
<br><font size=2 face="sans-serif">array_start[] = {0, 16384}</font>
<br><font size=2 face="sans-serif">array_start[] = {0, 8192}</font>
<br><font size=2 face="sans-serif">array_start[] = {0, 26624}</font>
<br><font size=2 face="sans-serif">array_subsize[] = {32768, 2048}</font>
<br><font size=2 face="sans-serif">array_start[] = {0, 10240}</font>
<br><font size=2 face="sans-serif">array_start[] = {0, 0}</font>
<br>
<br>
<br>
<br><font size=2 face="sans-serif">$ ls -l testfile </font>
<br><font size=2 face="sans-serif">-rw-r--r-- 1 jratt jratt 8589934592
2009-07-21 14:40 testfile</font>
<br>
<br>
<br>
<br>
<br><font size=2 face="sans-serif">Thanks,</font>
<br><font size=2 face="sans-serif">Joe Ratterman</font>
<br><font size=2 face="sans-serif">IBM Blue Gene/P Messsaging</font>
<br><font size=2 face="sans-serif">jratt@us.ibm.com</font>
<br>
<br>
<br>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">From:</font>
<td><font size=1 face="sans-serif">Pavan Balaji <balaji@mcs.anl.gov></font>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">To:</font>
<td><font size=1 face="sans-serif">mpich-discuss@mcs.anl.gov</font>
<tr>
<td valign=top><font size=1 color=#5f5f5f face="sans-serif">Cc:</font>
<td><font size=1 face="sans-serif">Joseph Ratterman/Rochester/IBM@IBMUS</font>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">Date:</font>
<td><font size=1 face="sans-serif">07/21/09 01:55 PM</font>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">Subject:</font>
<td><font size=1 face="sans-serif">Re: [mpich-discuss] Overflow in MPI_Aint</font></table>
<br>
<hr noshade>
<br>
<br>
<br><tt><font size=2><br>
Joe: I believe all the Aint related patches have already gone into 1.1.
<br>
Is something still missing?<br>
<br>
Christina: If you update to mpich2-1.1, you can try the --with-aint-size
<br>
configure option. Note that this has not been tested on anything other
<br>
than BG/P, but it might be worth a shot.<br>
<br>
-- Pavan<br>
<br>
On 07/21/2009 01:49 PM, Christina Patrick wrote:<br>
> Hi Joe,<br>
> <br>
> I am attaching my test case in this email. If you run it with any<br>
> number of processes except one, it will give you the SIGFPE error.<br>
> Similarly if you change the write in this program to a read, you will<br>
> get the same problem.<br>
> <br>
> I would sure appreciate a patch for this problem. If it is not too<br>
> much trouble, could you please give me the patch? I could try making<br>
> the corresponding changes to my setup.<br>
> <br>
> Thanks and Regards,<br>
> Christina.<br>
> <br>
> On Tue, Jul 21, 2009 at 2:06 PM, Joe Ratterman<jratt@us.ibm.com>
wrote:<br>
>> Christina,<br>
>> Blue Gene/P is a 32-bit platform where we have hit similar problems.
To get<br>
>> around this, we increased the size of MPI_Aint in MPICH2 to be
larger than<br>
>> void*, to 64 bits. I suspect that your test case would work
on our system,<br>
>> and I would like to see your test code if that is possible. It
should run<br>
>> on our system, and I would like to make sure we have it correct.<br>
>> If you are interested, we have patches against 1.0.7 and 1.1.0
that you can<br>
>> use (we skipped 1.0.8). If you can build MPICH2 using those
patches, you<br>
>> may be able to run your application. On the other hand,
they may be too<br>
>> specific to our platform. We have been working with ANL
to incorporate our<br>
>> changes into the standard MPICH2 releases, but there isn't a lot
of demand<br>
>> for 64-bit MPI-IO on 32-bit machines.<br>
>><br>
>> Thanks,<br>
>> Joe Ratterman<br>
>> IBM Blue Gene/P Messsaging<br>
>> jratt@us.ibm.com<br>
>><br>
>><br>
>> On Fri, Jul 17, 2009 at 7:12 PM, Christina Patrick<br>
>> <christina.subscribes@gmail.com> wrote:<br>
>>> Hi Pavan,<br>
>>><br>
>>> I ran the command<br>
>>><br>
>>> $ getconf | grep -i WORD<br>
>>> WORD_BIT=32<br>
>>><br>
>>> So I guess it is a 32 bit system.<br>
>>><br>
>>> Thanks and Regards,<br>
>>> Christina.<br>
>>><br>
>>> On Fri, Jul 17, 2009 at 8:06 PM, Pavan Balaji<balaji@mcs.anl.gov>
wrote:<br>
>>>> Is it a 32-bit system? MPI_Aint is the size of a (void
*), so on 32-bit<br>
>>>> systems it's restricted to 2GB.<br>
>>>><br>
>>>> -- Pavan<br>
>>>><br>
>>>> On 07/17/2009 07:04 PM, Christina Patrick wrote:<br>
>>>>> Hi Everybody,<br>
>>>>><br>
>>>>> I am trying to create an array 32768 x 32768 x 8 bytes(double)
= 8GB<br>
>>>>> file using 16 MPI processes. However, everytime, I
try doing that, MPI<br>
>>>>> aborts. The backtrace is showing me that there is
a problem in<br>
>>>>> ADIOI_Calc_my_off_len() function. There is a variable
there:<br>
>>>>> MPI_Aint filetype_extent;<br>
>>>>><br>
>>>>> and the value of the variable is filetype_extent =
0 whenever it<br>
>>>>> executes<br>
>>>>> MPI_Type_extent(fd->filetype, &filetype_extent);<br>
>>>>> Hence, when it reaches the statement:<br>
>>>>> 335
n_filetypes = (offset - flat_file->indices[0]) /<br>
>>>>> filetype_extent;<br>
>>>>> I always get SIGFPE. Is there a solution to this problem?
Can I create<br>
>>>>> such a big file?<br>
>>>>> I checked the value of the variable while creating
a file of upto 2G<br>
>>>>> and it is NOT zero which makes me conclude that there
is an overflow<br>
>>>>> when I am specifying 8G.<br>
>>>>><br>
>>>>> Thanks and Regards,<br>
>>>>> Christina.<br>
>>>>><br>
>>>>> PS: I am using the PVFS2 filesystem with mpich2-1.0.8
and pvfs-2.8.0.<br>
>>>> --<br>
>>>> Pavan Balaji<br>
>>>> </font></tt><a href=http://www.mcs.anl.gov/~balaji><tt><font size=2>http://www.mcs.anl.gov/~balaji</font></tt></a><tt><font size=2><br>
>>>><br>
>><br>
<br>
-- <br>
Pavan Balaji<br>
</font></tt><a href=http://www.mcs.anl.gov/~balaji><tt><font size=2>http://www.mcs.anl.gov/~balaji</font></tt></a><tt><font size=2><br>
</font></tt>
<br>