[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