mirror of
https://github.com/NVIDIA/nvbench.git
synced 2026-05-11 17:00:01 +00:00
Require at least 5 samples to begin estimating noise level
This commit is contained in:
@@ -41,16 +41,20 @@ void stdrel_criterion::do_add_measurement(nvbench::float64_t measurement)
|
||||
m_total_cuda_time += measurement;
|
||||
m_cuda_times.push_back(measurement);
|
||||
|
||||
// Compute convergence statistics using CUDA timings:
|
||||
const auto [cuda_first_quartile, cuda_median, cuda_third_quartile] =
|
||||
nvbench::detail::statistics::compute_percentiles(m_cuda_times.cbegin(),
|
||||
m_cuda_times.cend(),
|
||||
{25, 50, 75});
|
||||
const auto cuda_noise = (cuda_third_quartile - cuda_first_quartile) / cuda_median;
|
||||
|
||||
if (std::isfinite(cuda_noise))
|
||||
// require at least 5 samples for meaningful noise estimate
|
||||
if (m_total_samples > 4)
|
||||
{
|
||||
m_noise_tracker.push_back(cuda_noise);
|
||||
// Compute convergence statistics using CUDA timings:
|
||||
const auto [cuda_first_quartile, cuda_median, cuda_third_quartile] =
|
||||
nvbench::detail::statistics::compute_percentiles(m_cuda_times.cbegin(),
|
||||
m_cuda_times.cend(),
|
||||
{25, 50, 75});
|
||||
const auto cuda_noise = (cuda_third_quartile - cuda_first_quartile) / cuda_median;
|
||||
|
||||
if (std::isfinite(cuda_noise))
|
||||
{
|
||||
m_noise_tracker.push_back(cuda_noise);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user