Skip to content
Open
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
1f41ae0
added support for Cache VOL
zhenghh04 Aug 26, 2021
1c051a6
Committing clang-format changes
github-actions[bot] Aug 26, 2021
b1e6a7d
fixed async_sleep issue for cache vol
zhenghh04 Aug 31, 2021
ee5147a
fixed async_sleep issue
zhenghh04 Aug 31, 2021
c6468b4
Committing clang-format changes
github-actions[bot] Aug 31, 2021
fdc9890
fixed async_sleep issue for cache vol integration
zhenghh04 Aug 31, 2021
e79004d
fixed issue in async_sleep
zhenghh04 Aug 31, 2021
a40ab62
fixed issue for ts_delayed_close for ASYNC_NON mode
zhenghh04 Sep 1, 2021
7aa2a65
Committing clang-format changes
github-actions[bot] Sep 1, 2021
6800600
fixed clang-format checking issue for ts_delayed_close
zhenghh04 Sep 1, 2021
f231c3e
fixed clang-format checking issue for ts_delayed_close; I removed two…
zhenghh04 Sep 1, 2021
065f39f
Committing clang-format changes
github-actions[bot] Sep 1, 2021
cf173b4
adding dclose time to the meta data timing
zhenghh04 Sep 7, 2021
71bdb91
Merge branch 'master' of github.com:zhenghh04/h5bench
zhenghh04 Sep 7, 2021
f8426fd
added meta data timing for ASYNC_NON mode
zhenghh04 Sep 7, 2021
3a2ec23
Committing clang-format changes
github-actions[bot] Sep 7, 2021
42ca085
added sleep for last time step
Sep 17, 2021
ce92354
Committing clang-format changes
github-actions[bot] Sep 17, 2021
288806a
undo sleep time change
Sep 17, 2021
2317a22
added barrier in each iteration after the compute
zhenghh04 Oct 28, 2021
5fa7be5
Committing clang-format changes
github-actions[bot] Oct 28, 2021
d8ad748
Merge branch 'hpc-io:master' into master
zhenghh04 Nov 9, 2021
314db5a
merge remote master
zhenghh04 Jan 21, 2022
54cfded
Committing clang-format changes
github-actions[bot] Jan 26, 2022
8e504b1
Cache VOL support; added new API functions
zhenghh04 Feb 11, 2022
789d942
pull changes from hpc-io
zhenghh04 Feb 11, 2022
c4e4d39
update cache vol doc
zhenghh04 Apr 11, 2022
1502612
pull recent changes from hpc-io master branch
zhenghh04 Apr 11, 2022
4e60043
Merge branch 'master' of https://github.com/hpc-io/h5bench
zhenghh04 Apr 11, 2022
f4c8eb1
pull changes from hpc-io and added documentation for cache-vol support
zhenghh04 Apr 11, 2022
889d57f
Committing clang-format changes
github-actions[bot] Apr 11, 2022
0293c3d
fixed formatting issue
zhenghh04 Apr 12, 2022
6bd2616
fixing h5bench issue
zhenghh04 Apr 12, 2022
0773b2b
fixing yaml file for develop
zhenghh04 Apr 12, 2022
1ed91b1
fixed issue for VOL_DIR environment variable
zhenghh04 Apr 13, 2022
5833730
fixed issue for Build h5bench CACHE
zhenghh04 Apr 13, 2022
c21996c
fixed update.py issue
zhenghh04 Apr 13, 2022
2589227
fixed Build h5bench CACHE issue
zhenghh04 Apr 14, 2022
016f30c
fixing H5ES_VOL_g error
zhenghh04 Apr 14, 2022
ce324b5
fixing LD_PRELOAD issue
zhenghh04 Apr 15, 2022
b8ce69a
Sync with updates and fixes on master
jeanbez Apr 29, 2022
dbc486a
Update h5bench develop CI
jeanbez Apr 29, 2022
6ae1a88
Update h5bench develop CI
jeanbez Apr 29, 2022
ce9dcc7
Update h5bench develop CI
jeanbez Apr 29, 2022
b7390f6
Update h5bench develop CI
jeanbez Apr 29, 2022
95514ad
Update h5bench develop CI
jeanbez Apr 30, 2022
f62b16b
Update CI with all VOL-CACHE tests
jeanbez May 1, 2022
03a3b7e
Update CI with all VOL-CACHE tests
jeanbez May 1, 2022
e670fd9
Update CI with all VOL-CACHE tests
jeanbez May 1, 2022
f91a1e8
adding support for aprun
zhenghh04 Sep 9, 2022
7ef4121
pull recent changes from hpc-io
zhenghh04 Sep 21, 2022
0af40ce
local changes
zhenghh04 Sep 21, 2022
aed90ba
Merge branch 'master' of github.com:zhenghh04/h5bench
zhenghh04 Sep 21, 2022
b4fcf34
further edits for aprun
zhenghh04 Sep 23, 2022
c2a2896
Merge branch 'master' into master
jeanbez Oct 7, 2022
649be75
Committing clang-format changes
github-actions[bot] Oct 7, 2022
bfdfc13
Update h5bench.py
jeanbez Oct 7, 2022
77c960f
Update h5bench-hdf5-develop.yml
jeanbez Oct 9, 2022
2bbde20
Update h5bench-hdf5-1.13.0-mpich-3.4.3.yml
jeanbez Oct 10, 2022
4864359
Update h5bench-hdf5-1.13.0-mpich-3.4.3.yml
jeanbez Oct 11, 2022
1d905d9
Update h5bench-hdf5-1.13.0-mpich-3.4.3.yml
jeanbez Oct 11, 2022
99d4467
Update h5bench-hdf5-1.13.0-mpich-3.4.3.yml
jeanbez Oct 11, 2022
2986f90
Update and rename h5bench-hdf5-1.13.0-mpich-3.4.3.yml to h5bench-hdf5…
jeanbez Oct 11, 2022
3e58428
Update h5bench-hdf5-1.13.1-mpich-3.4.3.yml
jeanbez Oct 12, 2022
dff5357
Merge branch 'master' into master
jeanbez Nov 28, 2022
3a1115b
Update h5bench-hdf5-1.13.1-mpich-3.4.3.yml
jeanbez Nov 28, 2022
d6a0a02
Update h5bench-hdf5-1.13.1-mpich-3.4.3.yml
jeanbez Nov 28, 2022
0babbee
Minor changes to the PR
zhenghh04 Dec 6, 2022
7cedfc6
Committing clang-format changes
github-actions[bot] Dec 6, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,13 @@ if(WITH_ASYNC_VOL)
add_definitions(-DUSE_ASYNC_VOL)
endif()

# Dependency: VOL Cache
set(CACHE_HOME $ENV{CACHE_HOME})
option(WITH_CACHE_VOL "" OFF)
if (WITH_CACHE_VOL)
add_definitions(-DUSE_CACHE_VOL)
endif()

# =========== Utilility libs ==============
set(h5bench_util_src
commons/h5bench_util.c
Expand All @@ -31,6 +38,9 @@ add_library(h5bench_util ${h5bench_util_src})
if(WITH_ASYNC_VOL)
target_link_libraries(h5bench_util asynchdf5 h5async)
endif()
if(WITH_CACHE_VOL)
target_link_libraries(h5bench_util cache_new_h5api)
endif()
# =================================================================

# =========== Build h5bench_patterns: h5bench_write and h5bench_read ===========
Expand Down
12 changes: 9 additions & 3 deletions commons/h5bench_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@
#include "async_adaptor.h"
#endif

#ifdef USE_CACHE_VOL
#include "cache_new_h5api.h"
#endif

#include "h5bench_util.h"

int str_to_ull(char *str_in, unsigned long long *num_out);
Expand Down Expand Up @@ -67,11 +71,13 @@ h5bench_sleep(duration sleep_time)
void
async_sleep(hid_t file_id, hid_t fapl, duration sleep_time)
{
#ifndef USE_CACHE_VOL
#ifdef USE_ASYNC_VOL
unsigned cap = 0;
H5Pget_vol_cap_flags(fapl, &cap);
if (H5VL_CAP_FLAG_ASYNC & cap)
H5Fstart(file_id, fapl);
#endif
#endif
h5bench_sleep(sleep_time);
}
Expand Down Expand Up @@ -179,9 +185,6 @@ ts_delayed_close(mem_monitor *mon, unsigned long *metadata_time_total, int dset_
unsigned long t1, t2;
unsigned long meta_time = 0;

if (mon->mode == ASYNC_NON)
return 0;

for (int i = 0; i < mon->time_step_cnt; i++) {
ts_run = &(mon->time_steps[i]);
if (mon->time_steps[i].status == TS_DELAY) {
Expand Down Expand Up @@ -256,6 +259,7 @@ mem_monitor_final_run(mem_monitor *mon, unsigned long *metadata_time_total, unsi
int dset_cnt = 8;

if (mon->mode == ASYNC_NON) {
t1 = get_time_usec();
for (int i = 0; i < mon->time_step_cnt; i++) {
ts_run = &(mon->time_steps[i]);
if (mon->time_steps[i].status == TS_DELAY) {
Expand All @@ -265,6 +269,8 @@ mem_monitor_final_run(mem_monitor *mon, unsigned long *metadata_time_total, unsi
H5Gclose_async(ts_run->grp_id, ts_run->es_meta_close);
}
}
t2 = get_time_usec();
meta_time += (t2 - t1);
return 0;
}

Expand Down
18 changes: 11 additions & 7 deletions h5bench_patterns/h5bench_write.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,9 @@
#include <time.h>
#include "../commons/h5bench_util.h"
#include "../commons/async_adaptor.h"

#ifdef USE_CACHE_VOL
#include "cache_new_h5api.h"
#endif
#define DIM_MAX 3

herr_t ierr;
Expand Down Expand Up @@ -463,7 +465,6 @@ data_write_contig_contig_MD_array(time_step *ts, hid_t loc, hid_t *dset_ids, hid
dset_ids[7] = H5Dcreate_async(loc, "id_2", H5T_NATIVE_FLOAT, filespace, H5P_DEFAULT, dcpl, H5P_DEFAULT,
ts->es_meta_create);
unsigned t2 = get_time_usec();

ierr =
H5Dwrite_async(dset_ids[0], H5T_NATIVE_FLOAT, memspace, filespace, plist_id, data_in->x, ts->es_data);
ierr =
Expand Down Expand Up @@ -756,7 +757,10 @@ _run_benchmark_write(bench_params params, hid_t file_id, hid_t fapl, hid_t files

if (MY_RANK == 0)
printf("Writing %s ... \n", grp_name);

#ifdef USE_CACHE_VOL
MPI_Barrier(MPI_COMM_WORLD);
H5Fcache_async_op_pause(file_id);
#endif
switch (pattern) {
case CONTIG_CONTIG_1D:
case CONTIG_CONTIG_2D:
Expand Down Expand Up @@ -792,7 +796,9 @@ _run_benchmark_write(bench_params params, hid_t file_id, hid_t fapl, hid_t files
default:
break;
}

#ifdef USE_CACHE_VOL
H5Fcache_async_op_start(file_id);
#endif
ts->status = TS_DELAY;

if (params.cnt_time_step_delay == 0) {
Expand All @@ -804,7 +810,6 @@ _run_benchmark_write(bench_params params, hid_t file_id, hid_t fapl, hid_t files
t4 = get_time_usec();
meta_time5 += (t4 - t3);
}

if (ts_index != timestep_cnt - 1) { // no sleep after the last ts
if (params.compute_time.time_num >= 0) {
if (MY_RANK == 0)
Expand All @@ -813,7 +818,7 @@ _run_benchmark_write(bench_params params, hid_t file_id, hid_t fapl, hid_t files
}
}

*metadata_time_total += (meta_time1 + meta_time2 + meta_time3 + meta_time4);
*metadata_time_total += (meta_time1 + meta_time2 + meta_time3 + meta_time4 + meta_time5);
*data_time_total += (data_time_exp + data_time_imp);
} // end for timestep_cnt

Expand Down Expand Up @@ -1066,7 +1071,6 @@ main(int argc, char *argv[])
mode_str = "Sync";
#endif
printf("\n================== Performance results =================\n");

unsigned long long total_sleep_time_us =
read_time_val(params.compute_time, TIME_US) * (params.cnt_time_step - 1);
unsigned long total_size_gb = NUM_RANKS * local_data_size / (1024 * 1024 * 1024);
Expand Down