Enable reporting peak memory usage for gtests - #18599
Conversation
bdice
left a comment
There was a problem hiding this comment.
Really nice. Can you copy the output of the script here for posterity?
| lhs, rhs, ptx, cudf::data_type(cudf::type_to_id<int32_t>()), cudf::test::get_default_stream()); | ||
| cudf::binary_operation(lhs, rhs, ptx, cudf::data_type(cudf::type_to_id<int64_t>())); | ||
| cudf::binary_operation( | ||
| lhs, rhs, ptx, cudf::data_type(cudf::type_to_id<int64_t>()), cudf::test::get_default_stream()); |
There was a problem hiding this comment.
Thank you for this fix! Not sure how the stream tests were passing earlier though 😕
|
Here is the output as of this PR Perhaps there is a data-frame-ish library we could use to figure out how to group these appropriately for parallel processing by ctest. |
|
I would solve this a little differently -- perhaps more simply than the "optimal" strategy but easier to enforce. Currently we run our tests in CI with I filed PR #18603 with a proposal to run |
|
Updated This is 14GB |
|
/merge |
Description
Enables libcudf gtests to report peak memory usage after the tests complete.
The memory peak uses the
rmm::mr::statistics_resource_adaptorand is triggered with the environment variableGTEST_CUDF_MEMORY_PEAKWorking on this uncovered that most of the
STREAM_based tests were not using theCUDF_TEST_PROGRAM_MAIN()and so did not support custom parameters. Also, at least one test failed the stream check after this was corrected.The PR includes a shell script to run each test and report the peak memory for each to stdout in CSV format.
Checklist