For benchmarking CUB and Thrust, I configure (based on an internal benchmarking guide) with:
cmake -DCCCL_ENABLE_BENCHMARKS=YES\
-DCMAKE_CUDA_ARCHITECTURES='90'\
-DCMAKE_BUILD_TYPE=Release\
-DCCCL_ENABLE_CUB=YES\
-DCCCL_ENABLE_THRUST=YES\
-DCCCL_ENABLE_LIBCUDACXX=NO\
-GNinja ..
This gives me, among others, the following targets:
cub.all.benches: phony
cub.bench.adjacent_difference.subtract_left.base: phony
cub.bench.copy.memcpy.base: phony
...
thrust.all.bench: phony
thrust.bench: phony
thrust.bench.adjacent_difference.basic.base: phony
thrust.bench.adjacent_difference.custom.base: phony
thrust.bench.adjacent_difference.in_place.base: phony
thrust.bench.copy.basic.base: phony
thrust.bench.copy.if.base: phony
...
I can build all CUB benchmarks using the meta target cub.all.benches.
However, the target thrust.all.bench seems to build a single target executable containing a quick benchmark of several thrust algorithms. It also seems to not use nvbench and generally appears to be a bit dated, so I wonder whether it is just a legacy, given the nvbench-based thrust benchmarks.
To improve the situation I would like to at least:
- Have a meta target to build all thrust benchmarks, ideally called
thrust.all.benches to mimic the CUB target
- Rename the
thrust.all.bench to something that reflects its current statues.
For benchmarking CUB and Thrust, I configure (based on an internal benchmarking guide) with:
This gives me, among others, the following targets:
I can build all CUB benchmarks using the meta target
cub.all.benches.However, the target
thrust.all.benchseems to build a single target executable containing a quick benchmark of several thrust algorithms. It also seems to not use nvbench and generally appears to be a bit dated, so I wonder whether it is just a legacy, given the nvbench-based thrust benchmarks.To improve the situation I would like to at least:
thrust.all.benchesto mimic the CUB targetthrust.all.benchto something that reflects its current statues.