pnetcdf and mvapich2 2.2
Wei-keng Liao
wkliao at eecs.northwestern.edu
Thu Feb 9 13:07:20 CST 2017
Hi, Rob
I have filed a bug report to mvapich and they provided a patch the next day (impressive!).
Mark will give the patch a try and get back to them.
Please see the bug report in discussion thread from the mvapich list.
http://mailman.cse.ohio-state.edu/pipermail/mvapich-discuss/2017-February/006300.html
Wei-keng
On Feb 9, 2017, at 12:58 PM, Rob Latham wrote:
>
>
> On 02/03/2017 05:21 PM, Wei-keng Liao wrote:
>> Hi, Mark
>>
>> The Lustre driver in mvapich2 appears to append O_CREAT to the open mode,
>> (line 50, in file src/mpi/romio/adio/ad_lustre/ad_lustre_open.c), even
>> if the file is open for read-only. This is the root cause of one of the
>> error messages you are seeing:
>> "expect error code NC_ENOENT but got NC_ENOTNC"
>>
>> Attached is a small MPI program to verify such error. Could you please
>> give it a try on your mvapich2 build and Lustre?
>> Compile command:
>> mpicc test_open_no_such_file.c -o test_open_no_such_file
>> Run command:
>> mpiexec -n 1 ./test_open_no_such_file /lustre/path/non-exist-file
>>
>> If it is indeed an internal issue of mvapich, I can file a bug report to them.
>> thanks
>
> This bug affected both Panasas and Lustre. I wanted to confirm that I fixed this in ROMIO's latest:
>
> $ ./test_open_no_such_file /mnt/lustre/robl/no_such_file
> non-exiting file "/mnt/lustre/robl/no_such_file"
> MPI error string: File does not exist, error stack:
> ADIOI_LUSTRE_OPEN(42): File /mnt/lustre/robl/no_such_file does not exist
> Error class = MPI_ERR_NO_SUCH_FILE
> [robl at centos6 ~]$ ./test_open_no_such_file no_such_file
> non-exiting file "no_such_file"
> MPI error string: File does not exist, error stack:
> ADIOI_UFS_OPEN(42): File no_such_file does not exist
> Error class = MPI_ERR_NO_SUCH_FILE
>
> If you report this to mvapich, you might want to point them to this not-so-recent change: http://git.mpich.org/mpich.git/commit/92f1c69f0de87f93
>
> It might have taken a few commits for me to get this 100% correct. I hope they just take latest ROMIO/MPICH.
>
> ==rob
>
>
>>
>> Wei-keng
>>
>> On Feb 3, 2017, at 12:25 PM, Wei-keng Liao wrote:
>>
>>> Hi, Mark
>>>
>>> For running "make check" on Lustre, could you please set the environment
>>> variable PNETCDF_HINTS to "nc_header_align_size=512;nc_var_align_size=1"
>>> and run "make check" again? I think it should pass make check. Do let me
>>> know. These errors only occur for file systems whose striping size is
>>> larger than 1. So, ext4 is not affected. I am working on a fix for that
>>> test program. Please note this is a bug in the test program. the PnetCDF
>>> library itself is intact.
>>>
>>> When running "make check", I suggest not to set the environment variable
>>> PNETCDF_VERBOSE_DEBUG_MODE, as many error checks are designed on
>>> purpose. Those debugging messages can easily mask the true errors. That
>>> environment variable is designed for testing one program at a time.
>>>
>>> As for the errors from mvapich2, I do not have access to a machine with
>>> infiniband and thus could not give it a try. However, the errors look like
>>> a similar issue that has been discovered in OpenMPI recently: fail to
>>> return the correct MPI error codes. I will look into the mvapich2 source
>>> codes to confirm.
>>>
>>> Thanks for trying various compilers and reporting the problem !
>>>
>>> Wei-keng
>>>
>>
More information about the parallel-netcdf
mailing list