rapidsai/cudf

Add `peak_memory_usage` to all nvbench benchmarks

Chiusa

#10.528 aperta il 28 mar 2022

 (12 commenti) (0 reazioni) (1 assegnatario)C++ (735 fork)batch import
0 - BacklogPerformancefeature requestgood first issuelibcudf

Metriche repository

Star
 (6000 stelle)
Metriche merge PR
 (Merge medio 17g 21h) (230 PR mergiate in 30 g)

Descrizione

Update (2023-12-05): Adding peak_memory_usage to nvbenchmarks can be accomplished with this pattern:

auto const mem_stats_logger = cudf::memory_stats_logger(); 

state.exec( ... );

state.add_buffer_size(
    mem_stats_logger.peak_memory_usage(), 
    "peak_memory_usage", 
    "peak_memory_usage"
);

Please consult the cuIO benchmarks for how to add peak memory tracking. If we are tracking peak memory usage as well as bytes per second, then we can estimate memory footprint across the libcudf API.

Original issue: #7770 added support for peak memory usage to cuIO benchmarks using rmm's statistics_resource_adapter. It would be nice to be able to expand that to all of our benchmarks so that we could more easily detect regressions in memory usage. This would be particularly useful for the Dask cuDF team, which is always looking to identify bottlenecks from memory usage. There was already discussion of doing this in #7770, so we should investigate following up now.

Guida contributor