- To: netcdfgroup@xxxxxxxxxxxxxxxx
- Subject: Re: [netcdfgroup] bug in nc_open_par?
- From: Quincey Koziol <quincey@xxxxxxxxx>
- Date: Tue, 18 Feb 2014 08:41:05 -0600
Hi Jim,
I've tested your program on the latest version of HDF5 and the latest
version of netCDF-4 and it's working fine with "mpirun -np 4 ./bug". I did
have to tweak your program slightly to get it to compile, so maybe that's the
issue you are having:
#include <stdio.h>
#include "netcdf.h"
#include "mpi.h"
#include "netcdf_par.h"
int main( int argc, char *argv[])
{
int mype, npe;
int fh, ierr;
MPI_Init(&argc,&argv);
MPI_Comm_size(MPI_COMM_WORLD, &npe);
MPI_Comm_rank(MPI_COMM_WORLD, &mype);
ierr = nc_create_par("try.nc",NC_MPIIO, MPI_COMM_WORLD, MPI_INFO_NULL, &fh);
printf("%d %d\n",__LINE__,ierr);
ierr = nc_enddef(fh);
printf("%d %d\n",__LINE__,ierr);
ierr = nc_close(fh);
printf("%d %d\n",__LINE__,ierr);
ierr = nc_open_par("try.nc",NC_MPIIO, MPI_COMM_WORLD, MPI_INFO_NULL, &fh);
printf("%d %d\n",__LINE__,ierr);
ierr = nc_close(fh);
printf("%d %d\n",__LINE__,ierr);
MPI_Finalize();
}
Give that version a try a see if it works for you,
Quincey
> I have a very simple unit test that is failing when I try to use netcdf4
> parallel. The test creates a file, calls enddef, closes the file, then
> trys to reopen it. Using netcdf 4.3.0 built with hdf5 1.8.11 I am getting
> an assert error when I run this test,
> 3:testnetcdf4: nc4file.c:2858: NC4_open: Assertion `0' failed.
> 0:testnetcdf4: nc4file.c:2858: NC4_open: Assertion `0' failed.
> 1:testnetcdf4: nc4file.c:2858: NC4_open: Assertion `0' failed.
> 2:testnetcdf4: nc4file.c:2858: NC4_open: Assertion `0' failed.
>
> The same test written in F90 instead of C passes.
>
> #include <netcdf.h>
> #include <mpi.h>
> #include <netcdf_par.h>
>
> int main( int *argc, char ***argv)
> {
> int mype, npe;
> int fh, ierr;
> MPI_Init(argc,argv);
> MPI_Comm_size(MPI_COMM_WORLD, &npe);
> MPI_Comm_rank(MPI_COMM_WORLD, &mype);
>
> ierr = nc_create_par("try.nc",NC_MPIIO, MPI_COMM_WORLD, MPI_INFO_NULL,
> &fh);
> printf("%d %d\n",__LINE__,ierr);
> ierr = nc_enddef(fh);
> printf("%d %d\n",__LINE__,ierr);
> ierr = nc_close(fh);
> printf("%d %d\n",__LINE__,ierr);
>
> ierr = nc_open_par("try.nc",NC_MPIIO, MPI_COMM_WORLD, MPI_INFO_NULL, &fh);
> printf("%d %d\n",__LINE__,ierr);
> ierr = nc_close(fh);
> printf("%d %d\n",__LINE__,ierr);
>
> MPI_Finalize();
> }
>
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
- Follow-Ups:
- Re: [netcdfgroup] bug in nc_open_par?
- From: Jim Edwards
- Re: [netcdfgroup] bug in nc_open_par?
- From: Jim Edwards
- Re: [netcdfgroup] bug in nc_open_par?