Skip to content

Commit 858b2f8

Browse files
Update
1 parent 939a3f6 commit 858b2f8

File tree

3 files changed

+24
-17
lines changed

3 files changed

+24
-17
lines changed

cpp/benchmarks/CMakeLists.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,10 @@ function(kvikio_add_benchmark)
4343

4444
add_executable(${_KVIKIO_NAME} ${_KVIKIO_SOURCES})
4545
set_target_properties(${_KVIKIO_NAME} PROPERTIES INSTALL_RPATH "\$ORIGIN/../../../lib")
46-
target_include_directories(${_KVIKIO_NAME} PRIVATE ../include ${cuFile_INCLUDE_DIRS})
47-
target_link_libraries(${_KVIKIO_NAME} PUBLIC benchmark::benchmark kvikio)
46+
47+
get_target_property(KVIKIO_INCLUDES kvikio::kvikio INCLUDE_DIRECTORIES)
48+
target_include_directories(${_KVIKIO_NAME} PRIVATE "${KVIKIO_INCLUDES}")
49+
target_link_libraries(${_KVIKIO_NAME} PUBLIC benchmark::benchmark kvikio::kvikio)
4850

4951
if(CMAKE_COMPILER_IS_GNUCXX)
5052
set(KVIKIO_CXX_FLAGS "-Wall;-Werror;-Wno-unknown-pragmas")

cpp/benchmarks/threadpool/threadpool_benchmark.cpp

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121
#include <benchmark/benchmark.h>
2222
#include <kvikio/defaults.hpp>
2323

24-
enum ScalingType : int64_t {
24+
namespace kvikio {
25+
enum class ScalingType : uint8_t {
2526
StrongScaling,
2627
WeakScaling,
2728
};
@@ -35,21 +36,19 @@ void task_compute(std::size_t num_compute_iterations)
3536
}
3637
}
3738

39+
template <ScalingType scaling_type>
3840
void BM_threadpool_compute(benchmark::State& state)
3941
{
40-
auto num_threads = state.range(0);
41-
auto compute_bench_type = state.range(1);
42+
auto num_threads = state.range(0);
4243

4344
std::string label;
4445
std::size_t num_compute_tasks;
45-
if (compute_bench_type == ScalingType::StrongScaling) {
46+
if constexpr (scaling_type == ScalingType::StrongScaling) {
4647
num_compute_tasks = 1'0000;
47-
label = "strong_scaling";
4848
} else {
4949
num_compute_tasks = 1000 * num_threads;
50-
label = "weak_scaling";
5150
}
52-
state.SetLabel(label);
51+
5352
std::size_t const num_compute_iterations{100'000};
5453
kvikio::defaults::set_thread_pool_nthreads(num_threads);
5554

@@ -65,17 +64,22 @@ void BM_threadpool_compute(benchmark::State& state)
6564

6665
state.counters["threads"] = num_threads;
6766
}
67+
} // namespace kvikio
6868

6969
int main(int argc, char** argv)
7070
{
7171
benchmark::Initialize(&argc, argv);
7272

73-
benchmark::RegisterBenchmark("BM_threadpool_compute:strong_scaling", BM_threadpool_compute)
74-
->ArgsProduct({{1, 2, 4, 8, 16, 32, 64}, {ScalingType::StrongScaling}})
73+
benchmark::RegisterBenchmark("BM_threadpool_compute:strong_scaling",
74+
kvikio::BM_threadpool_compute<kvikio::ScalingType::StrongScaling>)
75+
->RangeMultiplier(2)
76+
->Range(1, 64)
7577
->Unit(benchmark::kMillisecond);
7678

77-
benchmark::RegisterBenchmark("BM_threadpool_compute:weak_scaling", BM_threadpool_compute)
78-
->ArgsProduct({{1, 2, 4, 8, 16, 32, 64}, {ScalingType::WeakScaling}})
79+
benchmark::RegisterBenchmark("BM_threadpool_compute:weak_scaling",
80+
kvikio::BM_threadpool_compute<kvikio::ScalingType::WeakScaling>)
81+
->RangeMultiplier(2)
82+
->Range(1, 64)
7983
->Unit(benchmark::kMillisecond);
8084

8185
benchmark::RunSpecifiedBenchmarks();

cpp/examples/CMakeLists.txt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,15 @@
1313
# =============================================================================
1414

1515
set(TEST_INSTALL_PATH bin/tests/libkvikio)
16+
get_target_property(KVIKIO_INCLUDES kvikio::kvikio INCLUDE_DIRECTORIES)
1617

1718
# Example: basic_io
1819

1920
if(CUDAToolkit_FOUND)
2021
add_executable(BASIC_IO_EXAMPLE basic_io.cpp)
2122
set_target_properties(BASIC_IO_EXAMPLE PROPERTIES INSTALL_RPATH "\$ORIGIN/../../../lib")
22-
target_include_directories(BASIC_IO_EXAMPLE PRIVATE ../include ${cuFile_INCLUDE_DIRS})
23-
target_link_libraries(BASIC_IO_EXAMPLE PRIVATE kvikio CUDA::cudart)
23+
target_include_directories(BASIC_IO_EXAMPLE PRIVATE "${KVIKIO_INCLUDES}")
24+
target_link_libraries(BASIC_IO_EXAMPLE PRIVATE kvikio::kvikio CUDA::cudart)
2425

2526
if(CMAKE_COMPILER_IS_GNUCXX)
2627
set(KVIKIO_CXX_FLAGS "-Wall;-Werror;-Wno-unknown-pragmas")
@@ -43,8 +44,8 @@ endif()
4344

4445
add_executable(BASIC_NO_CUDA_EXAMPLE basic_no_cuda.cpp)
4546
set_target_properties(BASIC_NO_CUDA_EXAMPLE PROPERTIES INSTALL_RPATH "\$ORIGIN/../../../lib")
46-
target_include_directories(BASIC_NO_CUDA_EXAMPLE PRIVATE ../include)
47-
target_link_libraries(BASIC_NO_CUDA_EXAMPLE PRIVATE kvikio)
47+
target_include_directories(BASIC_NO_CUDA_EXAMPLE PRIVATE "${KVIKIO_INCLUDES}")
48+
target_link_libraries(BASIC_NO_CUDA_EXAMPLE PRIVATE kvikio::kvikio)
4849

4950
if(CMAKE_COMPILER_IS_GNUCXX)
5051
set(KVIKIO_CXX_FLAGS "-Wall;-Werror;-Wno-unknown-pragmas")

0 commit comments

Comments
 (0)