Skip to content

Commit f26d2f9

Browse files
committed
Add convenience benchmark_base API for criterion params.
1 parent 947a695 commit f26d2f9

File tree

1 file changed

+41
-6
lines changed

1 file changed

+41
-6
lines changed

nvbench/benchmark_base.cuh

Lines changed: 41 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -266,18 +266,53 @@ struct benchmark_base
266266
return *this;
267267
}
268268

269-
[[nodiscard]] nvbench::criterion_params &get_criterion_params() { return m_criterion_params; }
270-
[[nodiscard]] const nvbench::criterion_params &get_criterion_params() const
271-
{
272-
return m_criterion_params;
273-
}
274-
275269
/// Control the stopping criterion for the measurement loop.
276270
/// @{
277271
[[nodiscard]] const std::string &get_stopping_criterion() const { return m_stopping_criterion; }
278272
benchmark_base &set_stopping_criterion(std::string criterion);
279273
/// @}
280274

275+
[[nodiscard]] bool has_criterion_param(const std::string &name) const
276+
{
277+
return m_criterion_params.has_value(name);
278+
}
279+
280+
[[nodiscard]] nvbench::int64_t get_criterion_param_int64(const std::string &name) const
281+
{
282+
return m_criterion_params.get_int64(name);
283+
}
284+
benchmark_base &set_criterion_param_int64(const std::string &name, nvbench::int64_t value)
285+
{
286+
m_criterion_params.set_int64(name, value);
287+
return *this;
288+
}
289+
290+
[[nodiscard]] nvbench::float64_t get_criterion_param_float64(const std::string &name) const
291+
{
292+
return m_criterion_params.get_float64(name);
293+
}
294+
benchmark_base &set_criterion_param_float64(const std::string &name, nvbench::float64_t value)
295+
{
296+
m_criterion_params.set_float64(name, value);
297+
return *this;
298+
}
299+
300+
[[nodiscard]] std::string get_criterion_param_string(const std::string &name) const
301+
{
302+
return m_criterion_params.get_string(name);
303+
}
304+
benchmark_base &set_criterion_param_string(const std::string &name, std::string value)
305+
{
306+
m_criterion_params.set_string(name, std::move(value));
307+
return *this;
308+
}
309+
310+
[[nodiscard]] nvbench::criterion_params &get_criterion_params() { return m_criterion_params; }
311+
[[nodiscard]] const nvbench::criterion_params &get_criterion_params() const
312+
{
313+
return m_criterion_params;
314+
}
315+
281316
protected:
282317
friend struct nvbench::runner_base;
283318

0 commit comments

Comments
 (0)