@@ -405,14 +405,26 @@ PYBIND11_MODULE(_nvbench, m)
405405 [](nvbench::state &state) { return std::ref(state.get_cuda_stream()); },
406406 py::return_value_policy::reference);
407407
408- pystate_cls.def("get_int64", &nvbench::state::get_int64);
409- pystate_cls.def("get_int64", &nvbench::state::get_int64_or_default);
410-
411- pystate_cls.def("get_float64", &nvbench::state::get_float64);
412- pystate_cls.def("get_float64", &nvbench::state::get_float64_or_default);
413-
414- pystate_cls.def("get_string", &nvbench::state::get_string);
415- pystate_cls.def("get_string", &nvbench::state::get_string_or_default);
408+ pystate_cls.def("get_int64", &nvbench::state::get_int64, py::arg("name"));
409+ pystate_cls.def("get_int64_or_default",
410+ &nvbench::state::get_int64_or_default,
411+ py::arg("name"),
412+ py::pos_only{},
413+ py::arg("default_value"));
414+
415+ pystate_cls.def("get_float64", &nvbench::state::get_float64, py::arg("name"));
416+ pystate_cls.def("get_float64_or_default",
417+ &nvbench::state::get_float64_or_default,
418+ py::arg("name"),
419+ py::pos_only{},
420+ py::arg("default_value"));
421+
422+ pystate_cls.def("get_string", &nvbench::state::get_string, py::arg("name"));
423+ pystate_cls.def("get_string_or_default",
424+ &nvbench::state::get_string_or_default,
425+ py::arg("name"),
426+ py::pos_only{},
427+ py::arg("default_value"));
416428
417429 pystate_cls.def("add_element_count",
418430 &nvbench::state::add_element_count,
@@ -421,7 +433,7 @@ PYBIND11_MODULE(_nvbench, m)
421433 pystate_cls.def("set_element_count", &nvbench::state::set_element_count);
422434 pystate_cls.def("get_element_count", &nvbench::state::get_element_count);
423435
424- pystate_cls.def("skip", &nvbench::state::skip);
436+ pystate_cls.def("skip", &nvbench::state::skip, py::arg("reason") );
425437 pystate_cls.def("is_skipped", &nvbench::state::is_skipped);
426438 pystate_cls.def("get_skip_reason", &nvbench::state::get_skip_reason);
427439
@@ -450,19 +462,25 @@ PYBIND11_MODULE(_nvbench, m)
450462 pystate_cls.def("get_throttle_threshold", &nvbench::state::get_throttle_threshold);
451463
452464 pystate_cls.def("get_min_samples", &nvbench::state::get_min_samples);
453- pystate_cls.def("set_min_samples", &nvbench::state::set_min_samples);
465+ pystate_cls.def("set_min_samples",
466+ &nvbench::state::set_min_samples,
467+ py::arg("min_samples_count"));
454468
455469 pystate_cls.def("get_disable_blocking_kernel", &nvbench::state::get_disable_blocking_kernel);
456- pystate_cls.def("set_disable_blocking_kernel", &nvbench::state::set_disable_blocking_kernel);
470+ pystate_cls.def("set_disable_blocking_kernel",
471+ &nvbench::state::set_disable_blocking_kernel,
472+ py::arg("disable_blocking_kernel"));
457473
458474 pystate_cls.def("get_run_once", &nvbench::state::get_run_once);
459- pystate_cls.def("set_run_once", &nvbench::state::set_run_once);
475+ pystate_cls.def("set_run_once", &nvbench::state::set_run_once, py::arg("run_once") );
460476
461477 pystate_cls.def("get_timeout", &nvbench::state::get_timeout);
462- pystate_cls.def("set_timeout", &nvbench::state::set_timeout);
478+ pystate_cls.def("set_timeout", &nvbench::state::set_timeout, py::arg("duration") );
463479
464480 pystate_cls.def("get_blocking_kernel_timeout", &nvbench::state::get_blocking_kernel_timeout);
465- pystate_cls.def("set_blocking_kernel_timeout", &nvbench::state::set_blocking_kernel_timeout);
481+ pystate_cls.def("set_blocking_kernel_timeout",
482+ &nvbench::state::set_blocking_kernel_timeout,
483+ py::arg("duration"));
466484
467485 pystate_cls.def("collect_cupti_metrics", &nvbench::state::collect_cupti_metrics);
468486 pystate_cls.def("is_cupti_required", &nvbench::state::is_cupti_required);
@@ -510,26 +528,36 @@ PYBIND11_MODULE(_nvbench, m)
510528 pystate_cls.def("get_short_description",
511529 [](const nvbench::state &state) { return state.get_short_description(); });
512530
513- pystate_cls.def("add_summary",
514- [](nvbench::state &state, std::string column_name, std::string value) {
515- auto &summ = state.add_summary("nv/python/" + column_name);
516- summ.set_string("description", "User tag: " + column_name);
517- summ.set_string("name", std::move(column_name));
518- summ.set_string("value", std::move(value));
519- });
520- pystate_cls.def("add_summary",
521- [](nvbench::state &state, std::string column_name, std::int64_t value) {
522- auto &summ = state.add_summary("nv/python/" + column_name);
523- summ.set_string("description", "User tag: " + column_name);
524- summ.set_string("name", std::move(column_name));
525- summ.set_int64("value", value);
526- });
527- pystate_cls.def("add_summary", [](nvbench::state &state, std::string column_name, double value) {
528- auto &summ = state.add_summary("nv/python/" + column_name);
529- summ.set_string("description", "User tag: " + column_name);
530- summ.set_string("name", std::move(column_name));
531- summ.set_float64("value", value);
532- });
531+ pystate_cls.def(
532+ "add_summary",
533+ [](nvbench::state &state, std::string column_name, std::string value) {
534+ auto &summ = state.add_summary("nv/python/" + column_name);
535+ summ.set_string("description", "User tag: " + column_name);
536+ summ.set_string("name", std::move(column_name));
537+ summ.set_string("value", std::move(value));
538+ },
539+ py::arg("column_name"),
540+ py::arg("value"));
541+ pystate_cls.def(
542+ "add_summary",
543+ [](nvbench::state &state, std::string column_name, std::int64_t value) {
544+ auto &summ = state.add_summary("nv/python/" + column_name);
545+ summ.set_string("description", "User tag: " + column_name);
546+ summ.set_string("name", std::move(column_name));
547+ summ.set_int64("value", value);
548+ },
549+ py::arg("name"),
550+ py::arg("value"));
551+ pystate_cls.def(
552+ "add_summary",
553+ [](nvbench::state &state, std::string column_name, double value) {
554+ auto &summ = state.add_summary("nv/python/" + column_name);
555+ summ.set_string("description", "User tag: " + column_name);
556+ summ.set_string("name", std::move(column_name));
557+ summ.set_float64("value", value);
558+ },
559+ py::arg("name"),
560+ py::arg("value"));
533561
534562 // Use handle to take a memory leak here, since this object's destructor may be called after
535563 // interpreter has shut down
@@ -546,7 +574,8 @@ PYBIND11_MODULE(_nvbench, m)
546574 "register",
547575 [&](py::object fn) { return std::ref(global_registry->add_bench(fn)); },
548576 "Register benchmark function of type Callable[[nvbench.State], None]",
549- py::return_value_policy::reference);
577+ py::return_value_policy::reference,
578+ py::arg("benchmark_fn"));
550579
551580 m.def(
552581 "run_all_benchmarks",
0 commit comments