mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-01-30 15:32:37 +08:00
Merge pull request #635 in HDFFV/hdf5 from GreaterThan-2GB-MPIO to develop
Added some commentary on the fact that 32 bit compilers appear to require actual array arguments to call H5Screate_simple rather than a pointer to a single size_t element. * commit '22baab211d912f1012057b3a7ae217abd2a44a38': Add commentary around calling H5Screate_simple with a single element Fix the t_bigio test so that it runs on 32bit machines
This commit is contained in:
commit
dfdf09f2a1
@ -519,6 +519,7 @@ dataset_big_write(void)
|
||||
/* Create a large dataset */
|
||||
dims[0] = bigcount;
|
||||
dims[1] = mpi_size;
|
||||
|
||||
sid = H5Screate_simple (RANK, dims, NULL);
|
||||
VRFY((sid >= 0), "H5Screate_simple succeeded");
|
||||
dataset = H5Dcreate2(fid, DATASET1, H5T_NATIVE_LLONG, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
|
||||
@ -596,6 +597,7 @@ dataset_big_write(void)
|
||||
/* Create a large dataset */
|
||||
dims[0] = bigcount;
|
||||
dims[1] = mpi_size;
|
||||
|
||||
sid = H5Screate_simple (RANK, dims, NULL);
|
||||
VRFY((sid >= 0), "H5Screate_simple succeeded");
|
||||
dataset = H5Dcreate2(fid, DATASET2, H5T_NATIVE_LLONG, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
|
||||
@ -673,6 +675,7 @@ dataset_big_write(void)
|
||||
/* Create a large dataset */
|
||||
dims[0] = bigcount;
|
||||
dims[1] = 1;
|
||||
|
||||
sid = H5Screate_simple (RANK, dims, NULL);
|
||||
VRFY((sid >= 0), "H5Screate_simple succeeded");
|
||||
dataset = H5Dcreate2(fid, DATASET3, H5T_NATIVE_LLONG, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
|
||||
@ -748,6 +751,7 @@ dataset_big_write(void)
|
||||
/* Create a large dataset */
|
||||
dims[0] = bigcount;
|
||||
dims[1] = mpi_size * 4;
|
||||
|
||||
sid = H5Screate_simple (RANK, dims, NULL);
|
||||
VRFY((sid >= 0), "H5Screate_simple succeeded");
|
||||
dataset = H5Dcreate2(fid, DATASET4, H5T_NATIVE_LLONG, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
|
||||
@ -785,7 +789,11 @@ dataset_big_write(void)
|
||||
}
|
||||
|
||||
/* create a memory dataspace */
|
||||
mem_dataspace = H5Screate_simple (1, &bigcount, NULL);
|
||||
/* Warning: H5Screate_simple requires an array of hsize_t elements
|
||||
* even if we only pass only a single value. Attempting anything else
|
||||
* appears to cause problems with 32 bit compilers.
|
||||
*/
|
||||
mem_dataspace = H5Screate_simple (1, dims, NULL);
|
||||
VRFY((mem_dataspace >= 0), "");
|
||||
|
||||
/* set up the collective transfer properties list */
|
||||
@ -821,6 +829,7 @@ dataset_big_write(void)
|
||||
/* Create a large dataset */
|
||||
dims[0] = bigcount/6;
|
||||
dims[1] = mpi_size * 4;
|
||||
|
||||
sid = H5Screate_simple (RANK, dims, NULL);
|
||||
VRFY((sid >= 0), "H5Screate_simple succeeded");
|
||||
dataset = H5Dcreate2(fid, DATASET5, H5T_NATIVE_LLONG, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
|
||||
@ -841,7 +850,7 @@ dataset_big_write(void)
|
||||
file_dataspace = H5Dget_space (dataset);
|
||||
VRFY((file_dataspace >= 0), "H5Dget_space succeeded");
|
||||
|
||||
dims[1] = 4;
|
||||
// dims[1] = 4;
|
||||
/* create a memory dataspace */
|
||||
mem_dataspace = H5Screate_simple (RANK, dims, NULL);
|
||||
VRFY((mem_dataspace >= 0), "");
|
||||
@ -903,7 +912,7 @@ dataset_big_write(void)
|
||||
VRFY((ret >= 0), "H5Dclose1 succeeded");
|
||||
|
||||
free(wdata);
|
||||
#endif
|
||||
#endif
|
||||
H5Fclose(fid);
|
||||
}
|
||||
|
||||
@ -1217,7 +1226,11 @@ dataset_big_read(void)
|
||||
if(coords) free(coords);
|
||||
|
||||
/* create a memory dataspace */
|
||||
mem_dataspace = H5Screate_simple (1, &bigcount, NULL);
|
||||
/* Warning: H5Screate_simple requires an array of hsize_t elements
|
||||
* even if we only pass only a single value. Attempting anything else
|
||||
* appears to cause problems with 32 bit compilers.
|
||||
*/
|
||||
mem_dataspace = H5Screate_simple (1, dims, NULL);
|
||||
VRFY((mem_dataspace >= 0), "");
|
||||
|
||||
/* set up the collective transfer properties list */
|
||||
@ -1276,7 +1289,6 @@ dataset_big_read(void)
|
||||
VRFY((file_dataspace >= 0), "H5Dget_space succeeded");
|
||||
|
||||
/* create a memory dataspace */
|
||||
dims[1] = 4;
|
||||
mem_dataspace = H5Screate_simple (RANK, dims, NULL);
|
||||
VRFY((mem_dataspace >= 0), "");
|
||||
|
||||
@ -1645,7 +1657,6 @@ coll_chunktest(const char* filename,
|
||||
|
||||
size_t num_points; /* for point selection */
|
||||
hsize_t *coords = NULL; /* for point selection */
|
||||
hsize_t current_dims; /* for point selection */
|
||||
int i;
|
||||
|
||||
/* Create the data space */
|
||||
@ -1676,6 +1687,10 @@ coll_chunktest(const char* filename,
|
||||
VRFY((coords != NULL), "coords malloc succeeded");
|
||||
point_set(start, count, stride, block, num_points, coords, mode);
|
||||
|
||||
/* Warning: H5Screate_simple requires an array of hsize_t elements
|
||||
* even if we only pass only a single value. Attempting anything else
|
||||
* appears to cause problems with 32 bit compilers.
|
||||
*/
|
||||
file_dataspace = H5Screate_simple(2, dims, NULL);
|
||||
VRFY((file_dataspace >= 0), "file dataspace created succeeded");
|
||||
|
||||
@ -1684,8 +1699,9 @@ coll_chunktest(const char* filename,
|
||||
VRFY((mem_dataspace >= 0), "mem dataspace created succeeded");
|
||||
}
|
||||
else {
|
||||
current_dims = num_points;
|
||||
mem_dataspace = H5Screate_simple (1, ¤t_dims, NULL);
|
||||
/* Putting the warning about H5Screate_simple (above) into practice... */
|
||||
hsize_t dsdims[1] = {num_points};
|
||||
mem_dataspace = H5Screate_simple (1, dsdims, NULL);
|
||||
VRFY((mem_dataspace >= 0), "mem_dataspace create succeeded");
|
||||
}
|
||||
|
||||
@ -1962,8 +1978,12 @@ coll_chunktest(const char* filename,
|
||||
VRFY((mem_dataspace >= 0), "");
|
||||
}
|
||||
else {
|
||||
current_dims = num_points;
|
||||
mem_dataspace = H5Screate_simple (1, ¤t_dims, NULL);
|
||||
/* Warning: H5Screate_simple requires an array of hsize_t elements
|
||||
* even if we only pass only a single value. Attempting anything else
|
||||
* appears to cause problems with 32 bit compilers.
|
||||
*/
|
||||
hsize_t dsdims[1] = {num_points};
|
||||
mem_dataspace = H5Screate_simple (1, dsdims, NULL);
|
||||
VRFY((mem_dataspace >= 0), "mem_dataspace create succeeded");
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user