From 7742df7556f3dc94d4684a500d0649ab87280792 Mon Sep 17 00:00:00 2001 From: Kenneth Moreland Date: Sat, 3 Dec 2022 21:44:20 -0700 Subject: [PATCH] Split up the filters benchmark tests This should help catch regressions that only affect a single filter. It also allows us to set up a partitioned test that has many small blocks. It also fixes an issue we were seeing on the dashboard where the contour benchmark was apparently running out of resources. --- benchmarking/BenchmarkFilters.cxx | 3 +-- benchmarking/CMakeLists.txt | 37 +++++++++++++++++++++++-------- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/benchmarking/BenchmarkFilters.cxx b/benchmarking/BenchmarkFilters.cxx index 4edcee61a..093e5c7a4 100644 --- a/benchmarking/BenchmarkFilters.cxx +++ b/benchmarking/BenchmarkFilters.cxx @@ -499,8 +499,7 @@ void BenchContourGenerator(::benchmark::internal::Benchmark* bm) helper(12); } -// :TODO: Disabled until SIGSEGV in Countour when passings field is resolved -//VTKM_BENCHMARK_APPLY(BenchContour, BenchContourGenerator); +VTKM_BENCHMARK_APPLY(BenchContour, BenchContourGenerator); void BenchExternalFaces(::benchmark::State& state) { diff --git a/benchmarking/CMakeLists.txt b/benchmarking/CMakeLists.txt index 4cf2b774a..33b782649 100644 --- a/benchmarking/CMakeLists.txt +++ b/benchmarking/CMakeLists.txt @@ -72,16 +72,35 @@ target_compile_definitions(BenchmarkDeviceAdapter PUBLIC VTKm_BENCHS_RANGE_UPPER if(VTKm_ENABLE_PERFORMANCE_TESTING) include("${VTKm_SOURCE_DIR}/CMake/testing/VTKmPerformanceTest.cmake") add_benchmark_test(BenchmarkFilters - FILTERS - BenchThreshold - BenchContour/IsStructuredDataSet:1/NIsoVals:12/MergePts:1/GenNormals:0 - BenchContour/IsStructuredDataSet:1/NIsoVals:12/MergePts:0/GenNormals:1/FastNormals:1 - BenchContour/IsStructuredDataSet:0/NIsoVals:12/MergePts:1/GenNormals:0 - BenchContour/IsStructuredDataSet:0/NIsoVals:12/MergePts:0/GenNormals:/FastNormals:1 - BenchTetrahedralize - BenchVertexClustering/NumDivs:256 + NAME BenchThreshold + REGEX BenchThreshold + ) + add_benchmark_test(BenchmarkFilters + NAME BenchTetrahedralize + REGEX BenchTetrahedralize + ) + add_benchmark_test(BenchmarkFilters + NAME BenchContour + REGEX + BenchContour/IsStructuredDataSet:1/NIsoVals:12/MergePts:1/GenNormals:0.*/MultiPartitioned:0 + BenchContour/IsStructuredDataSet:1/NIsoVals:12/MergePts:0/GenNormals:1/FastNormals:1.*/MultiPartitioned:0 + BenchContour/IsStructuredDataSet:0/NIsoVals:12/MergePts:1/GenNormals:0.*/MultiPartitioned:0 + BenchContour/IsStructuredDataSet:0/NIsoVals:12/MergePts:0/GenNormals:1/FastNormals:1.*/MultiPartitioned:0 + ) + add_benchmark_test(BenchmarkFilters + NAME BenchContourPartitioned + ARGS --wavelet-dim=32 --num-partitions=128 + REGEX + BenchContour/IsStructuredDataSet:1/NIsoVals:12/MergePts:1/GenNormals:0.*/MultiPartitioned:1 + BenchContour/IsStructuredDataSet:1/NIsoVals:12/MergePts:0/GenNormals:1/FastNormals:1.*/MultiPartitioned:1 + BenchContour/IsStructuredDataSet:0/NIsoVals:12/MergePts:1/GenNormals:0.*/MultiPartitioned:1 + BenchContour/IsStructuredDataSet:0/NIsoVals:12/MergePts:0/GenNormals:1/FastNormals:1.*/MultiPartitioned:1 + ) + add_benchmark_test(BenchmarkFilters + NAME BenchVertexClustering + REGEX BenchVertexClustering/NumDivs:256 ) if(TARGET vtkm_rendering) - add_benchmark_test(BenchmarkInSitu FILTERS "BenchContour") + add_benchmark_test(BenchmarkInSitu REGEX "BenchContour") endif() endif()