mirror of
https://github.com/NVIDIA/nvbench.git
synced 2026-04-20 06:48:53 +00:00
Rename criterion registry to criterion manager
This commit is contained in:
@@ -62,7 +62,7 @@ public:
|
||||
|
||||
// Register the criterion with NVBench:
|
||||
static bool registered = //
|
||||
nvbench::criterion_registry::register_criterion("fixed",
|
||||
nvbench::criterion_manager::register_criterion("fixed",
|
||||
std::make_unique<fixed_criterion>());
|
||||
|
||||
void throughput_bench(nvbench::state &state)
|
||||
|
||||
@@ -4,7 +4,7 @@ set(srcs
|
||||
benchmark_base.cxx
|
||||
benchmark_manager.cxx
|
||||
blocking_kernel.cu
|
||||
criterion_registry.cxx
|
||||
criterion_manager.cxx
|
||||
csv_printer.cu
|
||||
cuda_call.cu
|
||||
device_info.cu
|
||||
|
||||
@@ -30,14 +30,14 @@
|
||||
namespace nvbench
|
||||
{
|
||||
|
||||
class criterion_registry
|
||||
class criterion_manager
|
||||
{
|
||||
std::unordered_map<std::string, std::unique_ptr<nvbench::stopping_criterion>> m_map;
|
||||
|
||||
criterion_registry();
|
||||
criterion_manager();
|
||||
|
||||
public:
|
||||
static criterion_registry &instance();
|
||||
static criterion_manager &instance();
|
||||
|
||||
static nvbench::stopping_criterion* get(const std::string& name);
|
||||
|
||||
@@ -16,27 +16,27 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include <nvbench/criterion_registry.cuh>
|
||||
#include <nvbench/criterion_manager.cuh>
|
||||
#include <nvbench/detail/throw.cuh>
|
||||
|
||||
namespace nvbench
|
||||
{
|
||||
|
||||
criterion_registry::criterion_registry()
|
||||
criterion_manager::criterion_manager()
|
||||
{
|
||||
m_map.emplace("stdrel", std::make_unique<nvbench::detail::stdrel_criterion>());
|
||||
m_map.emplace("entropy", std::make_unique<nvbench::detail::entropy_criterion>());
|
||||
}
|
||||
|
||||
criterion_registry &criterion_registry::instance()
|
||||
criterion_manager &criterion_manager::instance()
|
||||
{
|
||||
static criterion_registry registry;
|
||||
static criterion_manager registry;
|
||||
return registry;
|
||||
}
|
||||
|
||||
stopping_criterion* criterion_registry::get(const std::string& name)
|
||||
stopping_criterion* criterion_manager::get(const std::string& name)
|
||||
{
|
||||
criterion_registry& registry = instance();
|
||||
criterion_manager& registry = instance();
|
||||
|
||||
auto iter = registry.m_map.find(name);
|
||||
if (iter == registry.m_map.end())
|
||||
@@ -46,26 +46,26 @@ stopping_criterion* criterion_registry::get(const std::string& name)
|
||||
return iter->second.get();
|
||||
}
|
||||
|
||||
bool criterion_registry::register_criterion(std::string name,
|
||||
std::unique_ptr<stopping_criterion> criterion)
|
||||
bool criterion_manager::register_criterion(std::string name,
|
||||
std::unique_ptr<stopping_criterion> criterion)
|
||||
{
|
||||
criterion_registry& registry = instance();
|
||||
criterion_manager& manager = instance();
|
||||
|
||||
if (registry.m_map.find(name) != registry.m_map.end())
|
||||
if (manager.m_map.find(name) != manager.m_map.end())
|
||||
{
|
||||
NVBENCH_THROW(std::runtime_error,
|
||||
"Stopping criterion \"{}\" is already registered.", name);
|
||||
}
|
||||
|
||||
return registry.m_map.emplace(std::move(name), std::move(criterion)).second;
|
||||
return manager.m_map.emplace(std::move(name), std::move(criterion)).second;
|
||||
}
|
||||
|
||||
nvbench::stopping_criterion::params_description criterion_registry::get_params_description()
|
||||
nvbench::stopping_criterion::params_description criterion_manager::get_params_description()
|
||||
{
|
||||
nvbench::stopping_criterion::params_description desc;
|
||||
|
||||
criterion_registry ®istry = instance();
|
||||
for (auto &[criterion_name, criterion] : registry.m_map)
|
||||
criterion_manager &manager = instance();
|
||||
for (auto &[criterion_name, criterion] : manager.m_map)
|
||||
{
|
||||
for (auto param : criterion->get_params_description())
|
||||
{
|
||||
@@ -17,7 +17,7 @@
|
||||
*/
|
||||
|
||||
#include <nvbench/benchmark_base.cuh>
|
||||
#include <nvbench/criterion_registry.cuh>
|
||||
#include <nvbench/criterion_manager.cuh>
|
||||
#include <nvbench/detail/measure_cold.cuh>
|
||||
#include <nvbench/detail/throw.cuh>
|
||||
#include <nvbench/device_info.cuh>
|
||||
@@ -34,7 +34,7 @@ measure_cold_base::measure_cold_base(state &exec_state)
|
||||
: m_state{exec_state}
|
||||
, m_launch{m_state.get_cuda_stream()}
|
||||
, m_criterion_params{exec_state.get_criterion_params()}
|
||||
, m_stopping_criterion{nvbench::criterion_registry::get(exec_state.get_stopping_criterion())}
|
||||
, m_stopping_criterion{nvbench::criterion_manager::get(exec_state.get_stopping_criterion())}
|
||||
, m_run_once{exec_state.get_run_once()}
|
||||
, m_no_block{exec_state.get_disable_blocking_kernel()}
|
||||
, m_min_samples{exec_state.get_min_samples()}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
#include <nvbench/callable.cuh>
|
||||
#include <nvbench/config.cuh>
|
||||
#include <nvbench/cpu_timer.cuh>
|
||||
#include <nvbench/criterion_registry.cuh>
|
||||
#include <nvbench/criterion_manager.cuh>
|
||||
#include <nvbench/create.cuh>
|
||||
#include <nvbench/cuda_call.cuh>
|
||||
#include <nvbench/cuda_stream.cuh>
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
#include <nvbench/benchmark_base.cuh>
|
||||
#include <nvbench/benchmark_manager.cuh>
|
||||
#include <nvbench/csv_printer.cuh>
|
||||
#include <nvbench/criterion_registry.cuh>
|
||||
#include <nvbench/criterion_manager.cuh>
|
||||
#include <nvbench/git_revision.cuh>
|
||||
#include <nvbench/json_printer.cuh>
|
||||
#include <nvbench/markdown_printer.cuh>
|
||||
@@ -378,7 +378,7 @@ void option_parser::parse_range(option_parser::arg_iterator_t first,
|
||||
};
|
||||
|
||||
const nvbench::stopping_criterion::params_description criterion_params =
|
||||
nvbench::criterion_registry::get_params_description();
|
||||
nvbench::criterion_manager::get_params_description();
|
||||
|
||||
while (first < last)
|
||||
{
|
||||
|
||||
@@ -4,7 +4,7 @@ set(test_srcs
|
||||
create.cu
|
||||
cuda_timer.cu
|
||||
cpu_timer.cu
|
||||
criterion_registry.cu
|
||||
criterion_manager.cu
|
||||
criterion_params.cu
|
||||
enum_type_list.cu
|
||||
entropy_criterion.cu
|
||||
|
||||
@@ -16,15 +16,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include <nvbench/criterion_registry.cuh>
|
||||
#include <nvbench/criterion_manager.cuh>
|
||||
#include <nvbench/types.cuh>
|
||||
|
||||
#include "test_asserts.cuh"
|
||||
|
||||
void test_standard_criteria_exist()
|
||||
{
|
||||
ASSERT(nvbench::criterion_registry::get("stdrel") != nullptr);
|
||||
ASSERT(nvbench::criterion_registry::get("entropy") != nullptr);
|
||||
ASSERT(nvbench::criterion_manager::get("stdrel") != nullptr);
|
||||
ASSERT(nvbench::criterion_manager::get("entropy") != nullptr);
|
||||
}
|
||||
|
||||
class custom_criterion : public nvbench::stopping_criterion
|
||||
@@ -45,7 +45,7 @@ void test_no_duplicates_are_allowed()
|
||||
bool exception_triggered = false;
|
||||
|
||||
try {
|
||||
nvbench::stopping_criterion* custom = nvbench::criterion_registry::get("custom");
|
||||
nvbench::stopping_criterion* custom = nvbench::criterion_manager::get("custom");
|
||||
} catch(...) {
|
||||
exception_triggered = true;
|
||||
}
|
||||
@@ -53,14 +53,14 @@ void test_no_duplicates_are_allowed()
|
||||
|
||||
std::unique_ptr<custom_criterion> custom_ptr = std::make_unique<custom_criterion>();
|
||||
custom_criterion* custom_raw = custom_ptr.get();
|
||||
ASSERT(nvbench::criterion_registry::register_criterion("custom", std::move(custom_ptr)));
|
||||
ASSERT(nvbench::criterion_manager::register_criterion("custom", std::move(custom_ptr)));
|
||||
|
||||
nvbench::stopping_criterion* custom = nvbench::criterion_registry::get("custom");
|
||||
nvbench::stopping_criterion* custom = nvbench::criterion_manager::get("custom");
|
||||
ASSERT(custom_raw == custom);
|
||||
|
||||
exception_triggered = false;
|
||||
try {
|
||||
nvbench::criterion_registry::register_criterion("custom", std::make_unique<custom_criterion>());
|
||||
nvbench::criterion_manager::register_criterion("custom", std::make_unique<custom_criterion>());
|
||||
} catch(...) {
|
||||
exception_triggered = true;
|
||||
}
|
||||
@@ -16,7 +16,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include <nvbench/criterion_registry.cuh>
|
||||
#include <nvbench/criterion_manager.cuh>
|
||||
#include <nvbench/types.cuh>
|
||||
|
||||
#include "test_asserts.cuh"
|
||||
|
||||
Reference in New Issue
Block a user