Skip to content

Commit 0347b22

Browse files
committed
Add benchmarks with single precision scalars
1 parent 760106a commit 0347b22

File tree

5 files changed

+56
-0
lines changed

5 files changed

+56
-0
lines changed

benchmarks/BoostCUDA.cu

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#include "SYCLMath/Vector4D.h"
55
#include <benchmark/benchmark.h>
66
#include <cuda_runtime.h>
7+
#include <memory>
78
#include <vector>
89

910
#ifdef SINGLE_PRECISION

benchmarks/BoostCUDAStreamed.cu

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#include "SYCLMath/Vector4D.h"
55
#include <benchmark/benchmark.h>
66
#include <cuda_runtime.h>
7+
#include <memory>
78
#include <vector>
89

910
#ifdef SINGLE_PRECISION

benchmarks/CMakeLists.txt

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,21 @@
11

22
add_executable(Boost_bench Boost.cpp)
33
target_link_libraries(Boost_bench PRIVATE benchmark::benchmark)
4+
target_compile_definitions(Boost_bench PRIVATE ${compile_list})
5+
46
add_executable(InvariantMasses_bench InvariantMasses.cpp)
57
target_link_libraries(InvariantMasses_bench PRIVATE benchmark::benchmark)
8+
target_compile_definitions(InvariantMasses_bench PRIVATE ${compile_list})
9+
10+
if (single_precision)
11+
add_executable(SBoost_bench Boost.cpp)
12+
target_link_libraries(SBoost_bench PRIVATE benchmark::benchmark)
13+
target_compile_definitions(SBoost_bench PRIVATE ${compile_list_single})
14+
15+
add_executable(SInvariantMasses_bench InvariantMasses.cpp)
16+
target_link_libraries(SInvariantMasses_bench PRIVATE benchmark::benchmark)
17+
target_compile_definitions(SInvariantMasses_bench PRIVATE ${compile_list_single})
18+
endif()
619

720
if (oneapi)
821

@@ -81,26 +94,65 @@ if (cuda)
8194
target_compile_options(BoostCUDA_bench PRIVATE -rdc=true -lineinfo --expt-relaxed-constexpr)
8295
set_target_properties(BoostCUDA_bench PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
8396
target_link_libraries(BoostCUDA_bench PRIVATE benchmark::benchmark)
97+
target_compile_definitions(BoostCUDA_bench PRIVATE ${cuda_compile_list})
8498

8599
add_executable(BoostCUDAStreamed_bench BoostCUDAStreamed.cu)
86100
set_target_properties(BoostCUDAStreamed_bench PROPERTIES LINKER_LANGUAGE CUDA)
87101
target_link_libraries(BoostCUDAStreamed_bench PUBLIC GenVectorX SYCLMath VecOps)
88102
target_compile_options(BoostCUDAStreamed_bench PRIVATE -rdc=true -lineinfo --expt-relaxed-constexpr)
89103
set_target_properties(BoostCUDAStreamed_bench PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
90104
target_link_libraries(BoostCUDAStreamed_bench PRIVATE benchmark::benchmark)
105+
target_compile_definitions(BoostCUDAStreamed_bench PRIVATE ${cuda_compile_list})
91106

92107
add_executable(InvariantMassesCUDA_bench InvariantMassesCUDA.cu)
93108
set_target_properties(InvariantMassesCUDA_bench PROPERTIES LINKER_LANGUAGE CUDA)
94109
target_link_libraries(InvariantMassesCUDA_bench PUBLIC GenVectorX SYCLMath VecOps)
95110
target_compile_options(InvariantMassesCUDA_bench PRIVATE -rdc=true -lineinfo --expt-relaxed-constexpr)
96111
set_target_properties(InvariantMassesCUDA_bench PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
97112
target_link_libraries(InvariantMassesCUDA_bench PRIVATE benchmark::benchmark)
113+
target_compile_definitions(InvariantMassesCUDA_bench PRIVATE ${cuda_compile_list})
98114

99115
add_executable(InvariantMassesCUDAStreamed_bench InvariantMassesCUDAStreamed.cu)
100116
set_target_properties(InvariantMassesCUDAStreamed_bench PROPERTIES LINKER_LANGUAGE CUDA)
101117
target_link_libraries(InvariantMassesCUDAStreamed_bench PUBLIC GenVectorX SYCLMath VecOps)
102118
target_compile_options(InvariantMassesCUDAStreamed_bench PRIVATE -rdc=true -lineinfo --expt-relaxed-constexpr)
103119
set_target_properties(InvariantMassesCUDAStreamed_bench PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
104120
target_link_libraries(InvariantMassesCUDAStreamed_bench PRIVATE benchmark::benchmark)
121+
target_compile_definitions(InvariantMassesCUDAStreamed_bench PRIVATE ${cuda_compile_list})
122+
123+
if (single_precision)
124+
add_executable(SBoostCUDA_bench BoostCUDA.cu)
125+
set_target_properties(SBoostCUDA_bench PROPERTIES LINKER_LANGUAGE CUDA)
126+
target_link_libraries(SBoostCUDA_bench PUBLIC GenVectorX SYCLMath VecOps)
127+
target_compile_options(SBoostCUDA_bench PRIVATE -rdc=true -lineinfo --expt-relaxed-constexpr)
128+
set_target_properties(SBoostCUDA_bench PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
129+
target_link_libraries(SBoostCUDA_bench PRIVATE benchmark::benchmark)
130+
target_compile_definitions(SBoostCUDA_bench PRIVATE ${cuda_compile_list_single})
131+
132+
add_executable(SBoostCUDAStreamed_bench BoostCUDAStreamed.cu)
133+
set_target_properties(SBoostCUDAStreamed_bench PROPERTIES LINKER_LANGUAGE CUDA)
134+
target_link_libraries(SBoostCUDAStreamed_bench PUBLIC GenVectorX SYCLMath VecOps)
135+
target_compile_options(SBoostCUDAStreamed_bench PRIVATE -rdc=true -lineinfo --expt-relaxed-constexpr)
136+
set_target_properties(SBoostCUDAStreamed_bench PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
137+
target_link_libraries(SBoostCUDAStreamed_bench PRIVATE benchmark::benchmark)
138+
target_compile_definitions(SBoostCUDAStreamed_bench PRIVATE ${cuda_compile_list_single})
139+
140+
add_executable(SInvariantMassesCUDA_bench InvariantMassesCUDA.cu)
141+
set_target_properties(SInvariantMassesCUDA_bench PROPERTIES LINKER_LANGUAGE CUDA)
142+
target_link_libraries(SInvariantMassesCUDA_bench PUBLIC GenVectorX SYCLMath VecOps)
143+
target_compile_options(SInvariantMassesCUDA_bench PRIVATE -rdc=true -lineinfo --expt-relaxed-constexpr)
144+
set_target_properties(SInvariantMassesCUDA_bench PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
145+
target_link_libraries(SInvariantMassesCUDA_bench PRIVATE benchmark::benchmark)
146+
target_compile_definitions(SInvariantMassesCUDA_bench PRIVATE ${cuda_compile_list_single})
147+
148+
add_executable(SInvariantMassesCUDAStreamed_bench InvariantMassesCUDAStreamed.cu)
149+
set_target_properties(SInvariantMassesCUDAStreamed_bench PROPERTIES LINKER_LANGUAGE CUDA)
150+
target_link_libraries(SInvariantMassesCUDAStreamed_bench PUBLIC GenVectorX SYCLMath VecOps)
151+
target_compile_options(SInvariantMassesCUDAStreamed_bench PRIVATE -rdc=true -lineinfo --expt-relaxed-constexpr)
152+
set_target_properties(SInvariantMassesCUDAStreamed_bench PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
153+
target_link_libraries(SInvariantMassesCUDAStreamed_bench PRIVATE benchmark::benchmark)
154+
target_compile_definitions(SInvariantMassesCUDAStreamed_bench PRIVATE ${cuda_compile_list_single})
155+
endif()
156+
105157
endif()
106158

benchmarks/InvariantMasses.cu renamed to benchmarks/InvariantMassesCUDA.cu

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include <benchmark/benchmark.h>
44
#include <chrono>
55
#include <cuda_runtime.h>
6+
#include <memory>
67
#include <vector>
78

89
#ifdef SINGLE_PRECISION

benchmarks/InvariantMassesCUDAStreamed.cu

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include <benchmark/benchmark.h>
44
#include <chrono>
55
#include <cuda_runtime.h>
6+
#include <memory>
67
#include <vector>
78

89
#ifdef SINGLE_PRECISION

0 commit comments

Comments
 (0)