@@ -338,13 +338,13 @@ PYBIND11_MODULE(_nvbench, m)
338338 using state_ref_t = std::reference_wrapper<nvbench::state>;
339339 auto pystate_cls = py::class_<nvbench::state>(m, " State" );
340340
341- pystate_cls.def (" hasDevice" , [](nvbench::state &state) -> bool {
341+ pystate_cls.def (" hasDevice" , [](const nvbench::state &state) -> bool {
342342 return static_cast <bool >(state.get_device ());
343343 });
344- pystate_cls.def (" hasPrinters" , [](nvbench::state &state) -> bool {
344+ pystate_cls.def (" hasPrinters" , [](const nvbench::state &state) -> bool {
345345 return state.get_benchmark ().get_printer ().has_value ();
346346 });
347- pystate_cls.def (" getDevice" , [](nvbench::state &state) {
347+ pystate_cls.def (" getDevice" , [](const nvbench::state &state) {
348348 auto dev = state.get_device ();
349349 if (dev.has_value ())
350350 {
@@ -398,7 +398,7 @@ PYBIND11_MODULE(_nvbench, m)
398398 py::arg (" column_name" ) = py::str (" " ));
399399 pystate_cls.def (
400400 " getBenchmark" ,
401- [](nvbench::state &state) { return std::ref (state.get_benchmark ()); },
401+ [](const nvbench::state &state) { return std::ref (state.get_benchmark ()); },
402402 py::return_value_policy::reference);
403403 pystate_cls.def (" getThrottleThreshold" , &nvbench::state::get_throttle_threshold);
404404
@@ -456,6 +456,30 @@ PYBIND11_MODULE(_nvbench, m)
456456 py::arg (" batched" ) = true ,
457457 py::arg (" sync" ) = false );
458458
459+ pystate_cls.def (" get_short_description" ,
460+ [](const nvbench::state &state) { return state.get_short_description (); });
461+
462+ pystate_cls.def (" add_summary" ,
463+ [](nvbench::state &state, std::string column_name, std::string value) {
464+ auto &summ = state.add_summary (" nv/python/" + column_name);
465+ summ.set_string (" description" , " User tag: " + column_name);
466+ summ.set_string (" name" , std::move (column_name));
467+ summ.set_string (" value" , std::move (value));
468+ });
469+ pystate_cls.def (" add_summary" ,
470+ [](nvbench::state &state, std::string column_name, std::int64_t value) {
471+ auto &summ = state.add_summary (" nv/python/" + column_name);
472+ summ.set_string (" description" , " User tag: " + column_name);
473+ summ.set_string (" name" , std::move (column_name));
474+ summ.set_int64 (" value" , value);
475+ });
476+ pystate_cls.def (" add_summary" , [](nvbench::state &state, std::string column_name, double value) {
477+ auto &summ = state.add_summary (" nv/python/" + column_name);
478+ summ.set_string (" description" , " User tag: " + column_name);
479+ summ.set_string (" name" , std::move (column_name));
480+ summ.set_float64 (" value" , value);
481+ });
482+
459483 // == STEP 6
460484 // ATTN: nvbench::benchmark_manager is a singleton
461485
0 commit comments