-
Notifications
You must be signed in to change notification settings - Fork 309
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DAOS-15204 cart: add crt_perf utils #13825
base: master
Are you sure you want to change the base?
Conversation
Bug-tracker data: |
Test stage Build on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/1/execution/node/376/log |
Test stage Build on Leap 15.5 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/1/execution/node/383/log |
Test stage Build RPM on Leap 15.5 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/1/execution/node/305/log |
Test stage Build RPM on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/1/execution/node/361/log |
Test stage Build RPM on EL 9 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/1/execution/node/349/log |
Test stage Build DEB on Ubuntu 20.04 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/1/execution/node/327/log |
e5ef127
to
d8d6aaa
Compare
Bug-tracker data: |
Test stage Build on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/2/execution/node/295/log |
Test stage Build on Leap 15.5 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/2/execution/node/380/log |
Test stage Build RPM on Leap 15.5 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/2/execution/node/278/log |
Test stage Build RPM on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/2/execution/node/370/log |
Test stage Build RPM on EL 9 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/2/execution/node/383/log |
Bug-tracker data: |
Test stage Build DEB on Ubuntu 20.04 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/2/execution/node/324/log |
Test stage Build RPM on Leap 15.5 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/3/execution/node/287/log |
Test stage Build RPM on EL 9 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/3/execution/node/310/log |
Test stage Build RPM on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/3/execution/node/315/log |
Test stage Build DEB on Ubuntu 20.04 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/3/execution/node/344/log |
Test stage Build RPM on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/4/execution/node/383/log |
Test stage Build RPM on Leap 15.5 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/4/execution/node/378/log |
Test stage Build DEB on Ubuntu 20.04 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/4/execution/node/322/log |
Bug-tracker data: |
Test stage Build RPM on EL 9 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/4/execution/node/377/log |
Bug-tracker data: |
Test stage Build RPM on EL 9 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/5/execution/node/363/log |
Test stage Build RPM on Leap 15.5 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/5/execution/node/278/log |
18cc1c5
to
7d2ffe3
Compare
Bug-tracker data: |
CRT_PERF_CHECK_D_ERROR(error, rc, "could not create request"); | ||
|
||
in_struct = crt_req_get(request->rpc); | ||
in_struct->handle_id = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a comment here would help to explain what you are doing:)
/*******************/ | ||
|
||
static int | ||
crt_perf_run(const struct crt_perf_info *perf_info, struct crt_perf_context_info *info, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it looks like crt_perf_run() implementations in most tests is very similar with the main difference being how input args are populated. any way to move this into crt_perf.c perhaps and pass it a function/cb to populate args instead?
#define CRT_PERF_LAT_SKIP_SMALL 100 | ||
#define CRT_PERF_LAT_SKIP_LARGE 10 | ||
#define CRT_PERF_LARGE_SIZE 8192 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would help to explain those, i dont quite understand what they mean by just reading them
sizeof(uri_name) * info->mpi_info.size); | ||
|
||
rc = crt_perf_mpi_allgather(&info->mpi_info, uri_name, sizeof(uri_name), uri_list, | ||
sizeof(uri_name)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hmm.. shoudnt the last arg here be sizeof(uri_name) * info->mpi_info.size?
char *rank_uri = uri_list + rank * sizeof(uri_name); | ||
|
||
if (rank == info->mpi_info.rank) | ||
continue; /* our rank is already added */ | ||
|
||
rc = crt_group_primary_rank_add(info->context_info[0].context, NULL, rank, | ||
rank_uri); | ||
CRT_PERF_CHECK_D_ERROR(error, rc, "could not add rank %d %s", rank, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you can also use crt_group_primary_modify() and add all ranks and uris in a bulk if you want to avoid the loop
rc = crt_init_opt(listen ? CRT_PERF_GROUP_ID : NULL, crt_init_flags, &crt_init_options); | ||
CRT_PERF_CHECK_D_ERROR(error, rc, "could not init CART"); | ||
|
||
if (attach_info_path) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
from past experience might be helpful to debug/info print the attach info path
CRT_PERF_CHECK_ERROR(cb_info->cci_rc != 0, out, info->rc, cb_info->cci_rc, | ||
"callback failed"); | ||
|
||
if (info->cb) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
surprised checkpatch doesnt complain about single statement being wrapped in { } 's
7d2ffe3
to
cc432f1
Compare
Ticket title is 'Add crt_perf utilities' |
Test stage Unit Test on EL 8.8 completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-13825/7/testReport/ |
Test stage Unit Test with memcheck on EL 8.8 completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-13825/7/testReport/ |
434c1ca
to
9bbc837
Compare
9bbc837
to
c6a58cd
Compare
Test stage NLT on EL 8.8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/11/execution/node/816/log |
# compiler = env.get('COMPILER').lower() | ||
# if compiler != 'covc': | ||
# pp_env = denv.Clone() | ||
# pp_files = [] | ||
# for src in SRC: | ||
# # Some day, the preprocess builder should be fixed so it can do multiple commands | ||
# # in parallel but until then, just submit them one at a time | ||
# pp_files.extend(pp_env.Preprocess(src)) | ||
# parsed_files = parse_pp(pp_env, pp_files) | ||
# header = consolidate_pp(pp_env, parsed_files) | ||
|
||
# Depends(cart_targets, header) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
while its annoying, some people use post-processed headers in their IDE. i think ideally this should be done via a flag/env/scons option
@@ -150,6 +150,8 @@ struct crt_gdata { | |||
unsigned int cg_provider_is_primary : 1; | |||
/** use legacy progress method */ | |||
bool cg_progress_legacy; | |||
/** use single thread to access context */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
might want to add new field to be dumped in crt_gdata_dump(void). even though we dump envs automatically, someone might set new field via init_opt, and would be good to see that in logs.
Required-githooks: true Signed-off-by: Jerome Soumagne <[email protected]>
Required-githooks: true Signed-off-by: Jerome Soumagne <[email protected]>
add crt_hg_event_progress() and query wait fd from context add D_PROGRESS_LEGACY to revert to old progress Required-githooks: true Signed-off-by: Jerome Soumagne <[email protected]>
Avoid reacquiring time and use coarse clock Required-githooks: true Signed-off-by: Jerome Soumagne <[email protected]>
Required-githooks: true Signed-off-by: Jerome Soumagne <[email protected]>
Add crt_rate / crt_perf_server executables. CRT perf utils can be run with and without MPI support. MPI support is automatically detected. Add crt_bw_read/write benchmarks. Required-githooks: true Signed-off-by: Jerome Soumagne <[email protected]>
Required-githooks: true Signed-off-by: Jerome Soumagne <[email protected]>
c6a58cd
to
10fbe20
Compare
Test stage NLT on EL 8.8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/12/execution/node/804/log |
Before requesting gatekeeper:
Features:
(orTest-tag*
) commit pragma was used or there is a reason documented that there are no appropriate tags for this PR.Gatekeeper: