Make benchmark names more unique.

Fixes #28, in which multiple benchmark TUs are linked together that use
NVBENCH_CREATE on the same line in multiple files, leading to symbol name
collisions.
This commit is contained in:
Allison Vacanti
2021-10-07 15:21:59 -04:00
parent 2212d86eb3
commit 8db2456f3a

View File

@@ -29,7 +29,7 @@
#define NVBENCH_BENCH(KernelGenerator) \
NVBENCH_DEFINE_UNIQUE_CALLABLE(KernelGenerator); \
nvbench::benchmark_base &NVBENCH_UNIQUE_IDENTIFIER(benchmark) = \
nvbench::benchmark_base &NVBENCH_UNIQUE_IDENTIFIER(obj_##KernelGenerator) = \
nvbench::benchmark_manager::get() \
.add(std::make_unique< \
nvbench::benchmark<NVBENCH_UNIQUE_IDENTIFIER(KernelGenerator)>>()) \
@@ -37,7 +37,7 @@
#define NVBENCH_BENCH_TYPES(KernelGenerator, TypeAxes) \
NVBENCH_DEFINE_UNIQUE_CALLABLE_TEMPLATE(KernelGenerator); \
nvbench::benchmark_base &NVBENCH_UNIQUE_IDENTIFIER(benchmark) = \
nvbench::benchmark_base &NVBENCH_UNIQUE_IDENTIFIER(obj_##KernelGenerator) = \
nvbench::benchmark_manager::get() \
.add(std::make_unique< \
nvbench::benchmark<NVBENCH_UNIQUE_IDENTIFIER(KernelGenerator), \