[mpich-discuss] Facing problem while using MPI_File_set_view
Wei-keng Liao
wkliao at ece.northwestern.edu
Sat May 30 02:03:54 CDT 2009
Hi, Christina,
There is another bug at line 970 in the same file.
The problem has been pointed out by the comments above that line.
A quick fix is: (starting from line 958)
+ if (file_ptr_type == ADIO_INDIVIDUAL)
+ fd->fp_ind =
file_offsets[file_list_count-1]+file_lengths[file_list_count-1];
ADIOI_Free(file_offsets);
ADIOI_Free(file_lengths);
- /* Other ADIO routines will convert absolute bytes into counts of
datatypes */
- /* when incrementing fp_ind, need to also take into account the
file type:
- * consider an N-element 1-d subarray with a lb and ub: ( |---
xxxxx-----|
- * if we wrote N elements, offset needs to point at beginning of
type, not
- * at empty region at offset N+1) */
- if (file_ptr_type == ADIO_INDIVIDUAL) {
- /* this is closer, but still incorrect for the cases where a
small
- * amount of a file type is "leftover" after a write */
- fd->fp_ind = disp + flat_file->indices[j] +
- ((ADIO_Offset)n_filetypes)*filetype_extent;
- }
So, together with the earlier fix at line 477, I can run your test code
even with MPI_Type_create_subarray() and #define COLL_BUFSIZE (8388608)
Wei-keng
On May 29, 2009, at 11:38 PM, Wei-keng Liao wrote:
> Hi, Christina,
>
> Can you try the following temporary fix? I believe there is a bug
> in adio/ad_pvfs2/ad_pvfs2_read.c, line 477. Please replace
> file_lengths[0] = st_frd_size;
> with
> file_lengths[0] = ADIOI_MIN(st_frd_size, bufsize);
>
>
> I tested you program with this fix and it ran fine.
> (I used mpich2-1.0.8p1)
>
> Wei-keng
>
>
>
> On May 28, 2009, at 1:28 PM, Christina Patrick wrote:
>
>> Yeah sure. Please go ahead.
>> In case you'll are able to figure out where the problem lies, please
>> do let me know so that I can download the patch.
>> Also, could you please tell me how to download the CVS version? And,
>> is the problem going away with the latest mpich CVS or pvfs CVS
>> versions?
>>
>> Thanks and Regards,
>> Christina.
>>
>>
>>
>> On Thu, May 28, 2009 at 8:43 AM, Rob Latham <robl at mcs.anl.gov> wrote:
>>> On Wed, May 27, 2009 at 06:04:28PM -0400, Christina Patrick wrote:
>>>> Thank you very much. Since the API MPI_Type_create_subarray() is
>>>> very
>>>> easy to use as compared to other API's used to create data types in
>>>> MPI, I would really appreciate a solution to this problem.
>>>> FYI: I am using pvfs 2.8.0.
>>>> I will check it out with pvfs2.8.1 and keep you posted.
>>>
>>> I think 2.8.1 will also crash. You will probably have to download
>>> the
>>> CVS version if you want things to work right now. We can work on
>>> figuring out just what changed between 2.8.1 and recent CVS.
>>>
>>> Can we add your program to the PVFS testsuite?
>>>
>>> ==rob
>>>
>>> --
>>> Rob Latham
>>> Mathematics and Computer Science Division
>>> Argonne National Lab, IL USA
>>>
>>
>
More information about the mpich-discuss
mailing list