From be2ad7dd4b47c4032d9a1e5884e09f774c6ba192 Mon Sep 17 00:00:00 2001 From: Nick Thompson <4nt@ornl.gov> Date: Fri, 9 Apr 2021 20:08:07 -0400 Subject: [PATCH] Speed up bounding interval hierarchy test. --- .../UnitTestBoundingIntervalHierarchy.cxx | 27 ++++--------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/vtkm/worklet/testing/UnitTestBoundingIntervalHierarchy.cxx b/vtkm/worklet/testing/UnitTestBoundingIntervalHierarchy.cxx index 18dec9f8f..cd32b09b3 100644 --- a/vtkm/worklet/testing/UnitTestBoundingIntervalHierarchy.cxx +++ b/vtkm/worklet/testing/UnitTestBoundingIntervalHierarchy.cxx @@ -62,45 +62,28 @@ vtkm::cont::DataSet ConstructDataSet(vtkm::Id size) void TestBoundingIntervalHierarchy(vtkm::cont::DataSet dataSet, vtkm::IdComponent numPlanes) { - using Timer = vtkm::cont::Timer; vtkm::cont::DynamicCellSet cellSet = dataSet.GetCellSet(); auto vertices = dataSet.GetCoordinateSystem().GetDataAsMultiplexer(); - std::cout << "Using numPlanes: " << numPlanes << "\n"; - std::cout << "Building Bounding Interval Hierarchy Tree" << std::endl; vtkm::cont::CellLocatorBoundingIntervalHierarchy bih = vtkm::cont::CellLocatorBoundingIntervalHierarchy(numPlanes, 5); bih.SetCellSet(cellSet); bih.SetCoordinates(dataSet.GetCoordinateSystem()); bih.Update(); - std::cout << "Built Bounding Interval Hierarchy Tree" << std::endl; - Timer centroidsTimer; - centroidsTimer.Start(); vtkm::cont::ArrayHandle centroids; vtkm::worklet::DispatcherMapTopology().Invoke( cellSet, vertices, centroids); - centroidsTimer.Stop(); - std::cout << "Centroids calculation time: " << centroidsTimer.GetElapsedTime() << "\n"; + vtkm::cont::ArrayHandleCounting expectedCellIds(0, 1, cellSet.GetNumberOfCells()); - - Timer interpolationTimer; - interpolationTimer.Start(); vtkm::cont::ArrayHandle results; vtkm::worklet::DispatcherMapField().Invoke( centroids, bih, expectedCellIds, results); vtkm::Id numDiffs = vtkm::cont::Algorithm::Reduce(results, 0, vtkm::Add()); - interpolationTimer.Stop(); - vtkm::Float64 timeDiff = interpolationTimer.GetElapsedTime(); - std::cout << "No of interpolations: " << results.GetNumberOfValues() << "\n"; - std::cout << "Interpolation time: " << timeDiff << "\n"; - std::cout << "Average interpolation rate: " - << (static_cast(results.GetNumberOfValues()) / timeDiff) << "\n"; - std::cout << "No of diffs: " << numDiffs << "\n"; VTKM_TEST_ASSERT(numDiffs == 0, "Calculated cell Ids not the same as expected cell Ids"); } @@ -113,10 +96,10 @@ void RunTest() omp_set_num_threads(std::min(4, omp_get_max_threads())); #endif - TestBoundingIntervalHierarchy(ConstructDataSet(16), 3); - TestBoundingIntervalHierarchy(ConstructDataSet(16), 4); - TestBoundingIntervalHierarchy(ConstructDataSet(16), 6); - TestBoundingIntervalHierarchy(ConstructDataSet(16), 9); + TestBoundingIntervalHierarchy(ConstructDataSet(8), 3); + TestBoundingIntervalHierarchy(ConstructDataSet(8), 4); + TestBoundingIntervalHierarchy(ConstructDataSet(8), 6); + TestBoundingIntervalHierarchy(ConstructDataSet(8), 9); } } // anonymous namespace