Merge initial version of selection I/O feature into develop (#1367)
This commit is contained in:
@@ -89,6 +89,7 @@ set (H5P_TESTS
|
||||
t_shapesame
|
||||
t_filters_parallel
|
||||
t_2Gio
|
||||
t_vfd
|
||||
)
|
||||
|
||||
foreach (h5_testp ${H5P_TESTS})
|
||||
|
||||
@@ -30,7 +30,7 @@ check_SCRIPTS = $(TEST_SCRIPT_PARA)
|
||||
|
||||
# Test programs. These are our main targets.
|
||||
#
|
||||
TEST_PROG_PARA=t_mpi t_bigio testphdf5 t_cache t_cache_image t_pread t_pshutdown t_prestart t_init_term t_shapesame t_filters_parallel t_2Gio
|
||||
TEST_PROG_PARA=t_mpi t_bigio testphdf5 t_cache t_cache_image t_pread t_pshutdown t_prestart t_init_term t_shapesame t_filters_parallel t_2Gio t_vfd
|
||||
|
||||
# t_pflush1 and t_pflush2 are used by testpflush.sh
|
||||
check_PROGRAMS = $(TEST_PROG_PARA) t_pflush1 t_pflush2
|
||||
|
||||
@@ -832,7 +832,10 @@ coll_chunktest(const char *filename, int chunk_factor, int select_factor, int ap
|
||||
VRFY((status >= 0), "dataset write succeeded");
|
||||
|
||||
#ifdef H5_HAVE_INSTRUMENTED_LIBRARY
|
||||
if (facc_type == FACC_MPIO) {
|
||||
/* Only check chunk optimization mode if selection I/O is not being used -
|
||||
* selection I/O bypasses this IO mode decision - it's effectively always
|
||||
* multi chunk currently */
|
||||
if (facc_type == FACC_MPIO && !H5_use_selection_io_g) {
|
||||
switch (api_option) {
|
||||
case API_LINK_HARD:
|
||||
status = H5Pget(xfer_plist, H5D_XFER_COLL_CHUNK_LINK_HARD_NAME, &prop_value);
|
||||
|
||||
@@ -3351,32 +3351,38 @@ actual_io_mode_tests(void)
|
||||
int mpi_size = -1;
|
||||
MPI_Comm_size(MPI_COMM_WORLD, &mpi_size);
|
||||
|
||||
test_actual_io_mode(TEST_ACTUAL_IO_NO_COLLECTIVE);
|
||||
/* Only run these tests if selection I/O is not being used - selection I/O
|
||||
* bypasses this IO mode decision - it's effectively always multi chunk
|
||||
* currently */
|
||||
if (!H5_use_selection_io_g) {
|
||||
test_actual_io_mode(TEST_ACTUAL_IO_NO_COLLECTIVE);
|
||||
|
||||
/*
|
||||
* Test multi-chunk-io via proc_num threshold
|
||||
*/
|
||||
test_actual_io_mode(TEST_ACTUAL_IO_MULTI_CHUNK_IND);
|
||||
test_actual_io_mode(TEST_ACTUAL_IO_MULTI_CHUNK_COL);
|
||||
/*
|
||||
* Test multi-chunk-io via proc_num threshold
|
||||
*/
|
||||
test_actual_io_mode(TEST_ACTUAL_IO_MULTI_CHUNK_IND);
|
||||
test_actual_io_mode(TEST_ACTUAL_IO_MULTI_CHUNK_COL);
|
||||
|
||||
/* The Multi Chunk Mixed test requires at least three processes. */
|
||||
if (mpi_size > 2)
|
||||
test_actual_io_mode(TEST_ACTUAL_IO_MULTI_CHUNK_MIX);
|
||||
else
|
||||
HDfprintf(stdout, "Multi Chunk Mixed test requires 3 processes minimum\n");
|
||||
/* The Multi Chunk Mixed test requires at least three processes. */
|
||||
if (mpi_size > 2)
|
||||
test_actual_io_mode(TEST_ACTUAL_IO_MULTI_CHUNK_MIX);
|
||||
else
|
||||
HDfprintf(stdout, "Multi Chunk Mixed test requires 3 processes minimum\n");
|
||||
|
||||
test_actual_io_mode(TEST_ACTUAL_IO_MULTI_CHUNK_MIX_DISAGREE);
|
||||
test_actual_io_mode(TEST_ACTUAL_IO_MULTI_CHUNK_MIX_DISAGREE);
|
||||
|
||||
/*
|
||||
* Test multi-chunk-io via setting direct property
|
||||
*/
|
||||
test_actual_io_mode(TEST_ACTUAL_IO_DIRECT_MULTI_CHUNK_IND);
|
||||
test_actual_io_mode(TEST_ACTUAL_IO_DIRECT_MULTI_CHUNK_COL);
|
||||
/*
|
||||
* Test multi-chunk-io via setting direct property
|
||||
*/
|
||||
test_actual_io_mode(TEST_ACTUAL_IO_DIRECT_MULTI_CHUNK_IND);
|
||||
test_actual_io_mode(TEST_ACTUAL_IO_DIRECT_MULTI_CHUNK_COL);
|
||||
|
||||
test_actual_io_mode(TEST_ACTUAL_IO_LINK_CHUNK);
|
||||
test_actual_io_mode(TEST_ACTUAL_IO_CONTIGUOUS);
|
||||
test_actual_io_mode(TEST_ACTUAL_IO_LINK_CHUNK);
|
||||
test_actual_io_mode(TEST_ACTUAL_IO_CONTIGUOUS);
|
||||
|
||||
test_actual_io_mode(TEST_ACTUAL_IO_RESET);
|
||||
}
|
||||
|
||||
test_actual_io_mode(TEST_ACTUAL_IO_RESET);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
4055
testpar/t_vfd.c
Normal file
4055
testpar/t_vfd.c
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user