From 4020f51988dd8ca0e42b410c99c312126d70063d Mon Sep 17 00:00:00 2001 From: Robert Maynard Date: Wed, 15 May 2019 17:26:34 -0400 Subject: [PATCH] RuntimeDeviceTracker can't be copied and is only accessible via reference. As the RuntimeDeviceTracker is a per thread construct we now make it explicit that you can only get a reference to the per-thread version and can't copy it. --- .../case-insensitive-device-from-string.md | 2 +- .../redesign-runtime-device-tracking.md | 58 +++++++++++++++++++ .../multi_backend/MultiDeviceGradient.hxx | 2 +- vtkm/cont/RuntimeDeviceTracker.cxx | 23 +++++--- vtkm/cont/RuntimeDeviceTracker.h | 13 +++-- vtkm/cont/TryExecute.cxx | 2 +- vtkm/cont/TryExecute.h | 2 +- .../cuda/testing/UnitTestCudaArrayHandle.cu | 2 +- .../testing/UnitTestCudaArrayHandleFancy.cu | 2 +- ...itTestCudaArrayHandleVirtualCoordinates.cu | 2 +- .../cont/cuda/testing/UnitTestCudaBitField.cu | 2 +- .../UnitTestCudaCellLocatorRectilinearGrid.cu | 2 +- .../UnitTestCudaCellLocatorUniformBins.cu | 2 +- .../UnitTestCudaCellLocatorUniformGrid.cu | 2 +- .../cuda/testing/UnitTestCudaColorTable.cu | 2 +- .../cuda/testing/UnitTestCudaComputeRange.cu | 2 +- .../testing/UnitTestCudaDataSetExplicit.cu | 2 +- .../testing/UnitTestCudaDataSetSingleType.cu | 2 +- .../cuda/testing/UnitTestCudaDeviceAdapter.cu | 2 +- .../cont/cuda/testing/UnitTestCudaGeometry.cu | 2 +- .../testing/UnitTestCudaImplicitFunction.cu | 2 +- vtkm/cont/cuda/testing/UnitTestCudaMath.cu | 2 +- .../UnitTestCudaPointLocatorUniformGrid.cu | 2 +- ...tTestCudaShareUserProvidedManagedMemory.cu | 2 +- .../UnitTestCudaVirtualObjectHandle.cu | 2 +- vtkm/cont/internal/DeviceAdapterListHelpers.h | 4 +- .../testing/UnitTestOpenMPArrayHandle.cxx | 2 +- .../UnitTestOpenMPArrayHandleFancy.cxx | 2 +- ...estOpenMPArrayHandleVirtualCoordinates.cxx | 2 +- .../openmp/testing/UnitTestOpenMPBitField.cxx | 2 +- ...itTestOpenMPCellLocatorRectilinearGrid.cxx | 2 +- .../UnitTestOpenMPCellLocatorUniformBins.cxx | 2 +- .../UnitTestOpenMPCellLocatorUniformGrid.cxx | 2 +- .../testing/UnitTestOpenMPColorTable.cxx | 2 +- .../testing/UnitTestOpenMPComputeRange.cxx | 2 +- .../testing/UnitTestOpenMPDataSetExplicit.cxx | 2 +- .../UnitTestOpenMPDataSetSingleType.cxx | 2 +- .../testing/UnitTestOpenMPDeviceAdapter.cxx | 2 +- .../UnitTestOpenMPImplicitFunction.cxx | 2 +- .../UnitTestOpenMPPointLocatorUniformGrid.cxx | 2 +- .../UnitTestOpenMPVirtualObjectHandle.cxx | 2 +- .../testing/UnitTestSerialArrayHandle.cxx | 2 +- .../UnitTestSerialArrayHandleFancy.cxx | 2 +- ...estSerialArrayHandleVirtualCoordinates.cxx | 2 +- .../serial/testing/UnitTestSerialBitField.cxx | 2 +- ...itTestSerialCellLocatorRectilinearGrid.cxx | 2 +- .../UnitTestSerialCellLocatorUniformBins.cxx | 2 +- .../UnitTestSerialCellLocatorUniformGrid.cxx | 2 +- .../testing/UnitTestSerialDataSetExplicit.cxx | 2 +- .../UnitTestSerialDataSetSingleType.cxx | 2 +- .../testing/UnitTestSerialDeviceAdapter.cxx | 2 +- .../serial/testing/UnitTestSerialGeometry.cxx | 2 +- .../UnitTestSerialImplicitFunction.cxx | 2 +- .../UnitTestSerialPointLocatorUniformGrid.cxx | 2 +- .../UnitTestSerialVirtualObjectHandle.cxx | 2 +- .../tbb/testing/UnitTestTBBArrayHandle.cxx | 2 +- .../testing/UnitTestTBBArrayHandleFancy.cxx | 2 +- ...itTestTBBArrayHandleVirtualCoordinates.cxx | 2 +- vtkm/cont/tbb/testing/UnitTestTBBBitField.cxx | 2 +- .../UnitTestTBBCellLocatorRectilinearGrid.cxx | 2 +- .../UnitTestTBBCellLocatorUniformBins.cxx | 2 +- .../UnitTestTBBCellLocatorUniformGrid.cxx | 2 +- .../tbb/testing/UnitTestTBBColorTable.cxx | 2 +- .../tbb/testing/UnitTestTBBComputeRange.cxx | 2 +- .../testing/UnitTestTBBDataSetExplicit.cxx | 2 +- .../testing/UnitTestTBBDataSetSingleType.cxx | 2 +- .../tbb/testing/UnitTestTBBDeviceAdapter.cxx | 2 +- .../testing/UnitTestTBBImplicitFunction.cxx | 2 +- .../UnitTestTBBPointLocatorUniformGrid.cxx | 2 +- .../UnitTestTBBVirtualObjectHandle.cxx | 2 +- vtkm/cont/testing/TestingDeviceAdapter.h | 2 +- .../UnitTestDeviceAdapterAlgorithmGeneral.cxx | 2 +- vtkm/cont/testing/UnitTestTryExecute.cxx | 7 +-- vtkm/testing/UnitTestExceptions.cxx | 2 +- vtkm/thirdparty/diy/update.sh | 4 +- 75 files changed, 158 insertions(+), 89 deletions(-) diff --git a/docs/changelog/case-insensitive-device-from-string.md b/docs/changelog/case-insensitive-device-from-string.md index aaae0afe1..e7bd36f95 100644 --- a/docs/changelog/case-insensitive-device-from-string.md +++ b/docs/changelog/case-insensitive-device-from-string.md @@ -8,7 +8,7 @@ vtkm::cont::DeviceAdapterId id1 = vtkm::cont::make_DeviceAdapterId("cuda"); vtkm::cont::DeviceAdapterId id2 = vtkm::cont::make_DeviceAdapterId("CUDA"); vtkm::cont::DeviceAdapterId id3 = vtkm::cont::make_DeviceAdapterId("Cuda"); -auto tracker = vtkm::cont::GetGlobalRuntimeDeviceTracker(); +auto& tracker = vtkm::cont::GetGlobalRuntimeDeviceTracker(); vtkm::cont::DeviceAdapterId id4 = tracker.GetDeviceAdapterId("cuda"); vtkm::cont::DeviceAdapterId id5 = tracker.GetDeviceAdapterId("CUDA"); vtkm::cont::DeviceAdapterId id6 = tracker.GetDeviceAdapterId("Cuda"); diff --git a/docs/changelog/redesign-runtime-device-tracking.md b/docs/changelog/redesign-runtime-device-tracking.md index 2abef6d36..957bdf257 100644 --- a/docs/changelog/redesign-runtime-device-tracking.md +++ b/docs/changelog/redesign-runtime-device-tracking.md @@ -4,3 +4,61 @@ The device tracking infrastructure in VTK-m has been redesigned to remove multiple redundant codes paths and to simplify reasoning about around what an instance of RuntimeDeviceTracker will modify. +`vtkm::cont::RuntimeDeviceTracker` tracks runtime information on +a per-user thread basis. This is done to allow multiple calling +threads to use different vtk-m backends such as seen in this +example: + +```cpp + vtkm::cont::DeviceAdapterTagCuda cuda; + vtkm::cont::DeviceAdapterTagOpenMP openmp; + { // thread 1 + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); + tracker->ForceDevice(cuda); + vtkm::worklet::Invoker invoke; + invoke(LightTask{}, input, output); + vtkm::cont::Algorithm::Sort(output); + invoke(HeavyTask{}, output); + } + + { // thread 2 + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); + tracker->ForceDevice(openmp); + vtkm::worklet::Invoker invoke; + invoke(LightTask{}, input, output); + vtkm::cont::Algorithm::Sort(output); + invoke(HeavyTask{}, output); + } +``` + +While this address the ability for threads to specify what +device they should run on. It doesn't make it easy to toggle +the status of a device in a programmatic way, for example +the following block forces execution to only occur on +`cuda` and doesn't restore previous active devices after + +```cpp + { + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); + tracker->ForceDevice(cuda); + vtkm::worklet::Invoker invoke; + invoke(LightTask{}, input, output); + } + //openmp/tbb/... still inactive +``` + +To resolve those issues we have `vtkm::cont::ScopedRuntimeDeviceTracker` which +has the same interface as `vtkm::cont::RuntimeDeviceTracker` but additionally +resets any per-user thread modifications when it goes out of scope. So by +switching over the previous example to use `ScopedRuntimeDeviceTracker` we +correctly restore the threads `RuntimeDeviceTracker` state when `tracker` +goes out of scope. +```cpp + { + vtkm::cont::ScopedRuntimeDeviceTracker tracker; + tracker.ForceDevice(cuda); + vtkm::worklet::Invoker invoke; + invoke(LightTask{}, input, output); + } + //openmp/tbb/... are now again active +``` diff --git a/examples/multi_backend/MultiDeviceGradient.hxx b/examples/multi_backend/MultiDeviceGradient.hxx index 4b0f7105d..eeaa63aca 100644 --- a/examples/multi_backend/MultiDeviceGradient.hxx +++ b/examples/multi_backend/MultiDeviceGradient.hxx @@ -126,7 +126,7 @@ VTKM_CONT MultiDeviceGradient::MultiDeviceGradient() , Workers() { //Step 1. Determine the number of workers we want - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); const bool runOnCuda = tracker.CanRunOn(vtkm::cont::DeviceAdapterTagCuda{}); const bool runOnOpenMP = tracker.CanRunOn(vtkm::cont::DeviceAdapterTagOpenMP{}); const bool runOnTbb = tracker.CanRunOn(vtkm::cont::DeviceAdapterTagTBB{}); diff --git a/vtkm/cont/RuntimeDeviceTracker.cxx b/vtkm/cont/RuntimeDeviceTracker.cxx index 619247388..7f66db6ff 100644 --- a/vtkm/cont/RuntimeDeviceTracker.cxx +++ b/vtkm/cont/RuntimeDeviceTracker.cxx @@ -33,10 +33,14 @@ struct RuntimeDeviceTrackerInternals } VTKM_CONT -RuntimeDeviceTracker::RuntimeDeviceTracker() - : Internals(new detail::RuntimeDeviceTrackerInternals()) +RuntimeDeviceTracker::RuntimeDeviceTracker(detail::RuntimeDeviceTrackerInternals* details, + bool reset) + : Internals(details) { - this->Reset(); + if (reset) + { + this->Reset(); + } } VTKM_CONT @@ -124,7 +128,7 @@ void RuntimeDeviceTracker::ForceDevice(DeviceAdapterId deviceId) VTKM_CONT ScopedRuntimeDeviceTracker::ScopedRuntimeDeviceTracker() - : RuntimeDeviceTracker(GetRuntimeDeviceTracker()) + : RuntimeDeviceTracker(GetRuntimeDeviceTracker().Internals, false) , SavedState(new detail::RuntimeDeviceTrackerInternals()) { std::copy_n( @@ -134,7 +138,7 @@ ScopedRuntimeDeviceTracker::ScopedRuntimeDeviceTracker() VTKM_CONT ScopedRuntimeDeviceTracker::ScopedRuntimeDeviceTracker( const vtkm::cont::RuntimeDeviceTracker& tracker) - : RuntimeDeviceTracker(tracker) + : RuntimeDeviceTracker(tracker.Internals, false) , SavedState(new detail::RuntimeDeviceTrackerInternals()) { std::copy_n( @@ -154,6 +158,8 @@ vtkm::cont::RuntimeDeviceTracker& GetRuntimeDeviceTracker() #if defined(VTKM_CLANG) && defined(__apple_build_version__) && (__apple_build_version__ < 8000000) static std::mutex mtx; static std::map globalTrackers; + static std::map + globalTrackerInternals; std::thread::id this_id = std::this_thread::get_id(); std::unique_lock lock(mtx); @@ -164,12 +170,15 @@ vtkm::cont::RuntimeDeviceTracker& GetRuntimeDeviceTracker() } else { - vtkm::cont::RuntimeDeviceTracker* tracker = new vtkm::cont::RuntimeDeviceTracker(); + auto* details = new vtkm::cont::detail::RuntimeDeviceTrackerInternals(); + vtkm::cont::RuntimeDeviceTracker* tracker = new vtkm::cont::RuntimeDeviceTracker(details, true); globalTrackers[this_id] = tracker; + globalTrackerInternals[this_id] = details; return *tracker; } #else - static thread_local vtkm::cont::RuntimeDeviceTracker runtimeDeviceTracker; + static thread_local vtkm::cont::detail::RuntimeDeviceTrackerInternals details; + static thread_local vtkm::cont::RuntimeDeviceTracker runtimeDeviceTracker(&details, true); return runtimeDeviceTracker; #endif } diff --git a/vtkm/cont/RuntimeDeviceTracker.h b/vtkm/cont/RuntimeDeviceTracker.h index c328ce2bd..9cd57b397 100644 --- a/vtkm/cont/RuntimeDeviceTracker.h +++ b/vtkm/cont/RuntimeDeviceTracker.h @@ -115,10 +115,16 @@ public: private: friend struct ScopedRuntimeDeviceTracker; - std::shared_ptr Internals; + detail::RuntimeDeviceTrackerInternals* Internals; VTKM_CONT - RuntimeDeviceTracker(); + RuntimeDeviceTracker(detail::RuntimeDeviceTrackerInternals* details, bool reset); + + VTKM_CONT + RuntimeDeviceTracker(const RuntimeDeviceTracker&) = delete; + + VTKM_CONT + RuntimeDeviceTracker& operator=(const RuntimeDeviceTracker&) = delete; VTKM_CONT void CheckDevice(vtkm::cont::DeviceAdapterId deviceId) const; @@ -150,8 +156,6 @@ struct VTKM_CONT_EXPORT ScopedRuntimeDeviceTracker : public vtkm::cont::RuntimeD /// Destructor is not thread safe VTKM_CONT ~ScopedRuntimeDeviceTracker(); - ScopedRuntimeDeviceTracker(const ScopedRuntimeDeviceTracker&) = delete; - private: std::unique_ptr SavedState; }; @@ -164,7 +168,6 @@ private: /// to check over and over again, VTK-m uses per thread runtime device tracker /// so that these choices are marked and shared. /// -/// Xcode's clang only supports thread_local from version 8 VTKM_CONT_EXPORT VTKM_CONT vtkm::cont::RuntimeDeviceTracker& GetRuntimeDeviceTracker(); diff --git a/vtkm/cont/TryExecute.cxx b/vtkm/cont/TryExecute.cxx index c5ff29e72..8b2f9b37f 100644 --- a/vtkm/cont/TryExecute.cxx +++ b/vtkm/cont/TryExecute.cxx @@ -22,7 +22,7 @@ namespace detail { VTKM_CONT_EXPORT void HandleTryExecuteException(vtkm::cont::DeviceAdapterId deviceId, - vtkm::cont::RuntimeDeviceTracker tracker, + vtkm::cont::RuntimeDeviceTracker& tracker, const std::string& functorName) { try diff --git a/vtkm/cont/TryExecute.h b/vtkm/cont/TryExecute.h index 1ad910f63..fced495b6 100644 --- a/vtkm/cont/TryExecute.h +++ b/vtkm/cont/TryExecute.h @@ -25,7 +25,7 @@ namespace detail { VTKM_CONT_EXPORT void HandleTryExecuteException(vtkm::cont::DeviceAdapterId, - vtkm::cont::RuntimeDeviceTracker, + vtkm::cont::RuntimeDeviceTracker&, const std::string& functorName); template diff --git a/vtkm/cont/cuda/testing/UnitTestCudaArrayHandle.cu b/vtkm/cont/cuda/testing/UnitTestCudaArrayHandle.cu index 64d495977..b89ac2a67 100644 --- a/vtkm/cont/cuda/testing/UnitTestCudaArrayHandle.cu +++ b/vtkm/cont/cuda/testing/UnitTestCudaArrayHandle.cu @@ -13,7 +13,7 @@ int UnitTestCudaArrayHandle(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagCuda{}); return vtkm::cont::testing::TestingArrayHandles::Run(argc, argv); diff --git a/vtkm/cont/cuda/testing/UnitTestCudaArrayHandleFancy.cu b/vtkm/cont/cuda/testing/UnitTestCudaArrayHandleFancy.cu index 6f623db31..37f6a8e73 100644 --- a/vtkm/cont/cuda/testing/UnitTestCudaArrayHandleFancy.cu +++ b/vtkm/cont/cuda/testing/UnitTestCudaArrayHandleFancy.cu @@ -15,7 +15,7 @@ int UnitTestCudaArrayHandleFancy(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagCuda{}); int result = vtkm::cont::testing::TestingFancyArrayHandles::Run( argc, argv); diff --git a/vtkm/cont/cuda/testing/UnitTestCudaArrayHandleVirtualCoordinates.cu b/vtkm/cont/cuda/testing/UnitTestCudaArrayHandleVirtualCoordinates.cu index 2e976d730..a1b2d830f 100644 --- a/vtkm/cont/cuda/testing/UnitTestCudaArrayHandleVirtualCoordinates.cu +++ b/vtkm/cont/cuda/testing/UnitTestCudaArrayHandleVirtualCoordinates.cu @@ -13,7 +13,7 @@ int UnitTestCudaArrayHandleVirtualCoordinates(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagCuda{}); return vtkm::cont::testing::TestingArrayHandleVirtualCoordinates< vtkm::cont::DeviceAdapterTagCuda>::Run(argc, argv); diff --git a/vtkm/cont/cuda/testing/UnitTestCudaBitField.cu b/vtkm/cont/cuda/testing/UnitTestCudaBitField.cu index 088659262..ee88d0559 100644 --- a/vtkm/cont/cuda/testing/UnitTestCudaBitField.cu +++ b/vtkm/cont/cuda/testing/UnitTestCudaBitField.cu @@ -12,7 +12,7 @@ int UnitTestCudaBitField(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagCuda{}); return vtkm::cont::testing::TestingBitField::Run(argc, argv); } diff --git a/vtkm/cont/cuda/testing/UnitTestCudaCellLocatorRectilinearGrid.cu b/vtkm/cont/cuda/testing/UnitTestCudaCellLocatorRectilinearGrid.cu index bb0bb6faa..227c28109 100644 --- a/vtkm/cont/cuda/testing/UnitTestCudaCellLocatorRectilinearGrid.cu +++ b/vtkm/cont/cuda/testing/UnitTestCudaCellLocatorRectilinearGrid.cu @@ -12,7 +12,7 @@ int UnitTestCudaCellLocatorRectilinearGrid(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagCuda{}); return vtkm::cont::testing::Testing::Run( TestingCellLocatorRectilinearGrid(), argc, argv); diff --git a/vtkm/cont/cuda/testing/UnitTestCudaCellLocatorUniformBins.cu b/vtkm/cont/cuda/testing/UnitTestCudaCellLocatorUniformBins.cu index 8e9500b97..41d6f1f96 100644 --- a/vtkm/cont/cuda/testing/UnitTestCudaCellLocatorUniformBins.cu +++ b/vtkm/cont/cuda/testing/UnitTestCudaCellLocatorUniformBins.cu @@ -12,7 +12,7 @@ int UnitTestCudaCellLocatorUniformBins(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagCuda{}); return vtkm::cont::testing::Testing::Run( TestingCellLocatorUniformBins, argc, argv); diff --git a/vtkm/cont/cuda/testing/UnitTestCudaCellLocatorUniformGrid.cu b/vtkm/cont/cuda/testing/UnitTestCudaCellLocatorUniformGrid.cu index aeb136359..6277ec54e 100644 --- a/vtkm/cont/cuda/testing/UnitTestCudaCellLocatorUniformGrid.cu +++ b/vtkm/cont/cuda/testing/UnitTestCudaCellLocatorUniformGrid.cu @@ -12,7 +12,7 @@ int UnitTestCudaCellLocatorUniformGrid(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagCuda{}); return vtkm::cont::testing::Testing::Run( TestingCellLocatorUniformGrid(), argc, argv); diff --git a/vtkm/cont/cuda/testing/UnitTestCudaColorTable.cu b/vtkm/cont/cuda/testing/UnitTestCudaColorTable.cu index 1999d6860..27940d221 100644 --- a/vtkm/cont/cuda/testing/UnitTestCudaColorTable.cu +++ b/vtkm/cont/cuda/testing/UnitTestCudaColorTable.cu @@ -14,7 +14,7 @@ int UnitTestCudaColorTable(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagCuda{}); return vtkm::cont::testing::TestingColorTable::Run(argc, argv); } diff --git a/vtkm/cont/cuda/testing/UnitTestCudaComputeRange.cu b/vtkm/cont/cuda/testing/UnitTestCudaComputeRange.cu index a6ec06caa..a8ead068b 100644 --- a/vtkm/cont/cuda/testing/UnitTestCudaComputeRange.cu +++ b/vtkm/cont/cuda/testing/UnitTestCudaComputeRange.cu @@ -15,7 +15,7 @@ int UnitTestCudaComputeRange(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagCuda{}); int result = vtkm::cont::testing::TestingComputeRange::Run(argc, argv); diff --git a/vtkm/cont/cuda/testing/UnitTestCudaDataSetExplicit.cu b/vtkm/cont/cuda/testing/UnitTestCudaDataSetExplicit.cu index 8fccfa7dc..5b66bae0b 100644 --- a/vtkm/cont/cuda/testing/UnitTestCudaDataSetExplicit.cu +++ b/vtkm/cont/cuda/testing/UnitTestCudaDataSetExplicit.cu @@ -14,7 +14,7 @@ int UnitTestCudaDataSetExplicit(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagCuda{}); int result = vtkm::cont::testing::TestingDataSetExplicit::Run(argc, argv); diff --git a/vtkm/cont/cuda/testing/UnitTestCudaDataSetSingleType.cu b/vtkm/cont/cuda/testing/UnitTestCudaDataSetSingleType.cu index bce4e6839..b9bdb6d69 100644 --- a/vtkm/cont/cuda/testing/UnitTestCudaDataSetSingleType.cu +++ b/vtkm/cont/cuda/testing/UnitTestCudaDataSetSingleType.cu @@ -15,7 +15,7 @@ int UnitTestCudaDataSetSingleType(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagCuda{}); int result = vtkm::cont::testing::TestingDataSetSingleType::Run( argc, argv); diff --git a/vtkm/cont/cuda/testing/UnitTestCudaDeviceAdapter.cu b/vtkm/cont/cuda/testing/UnitTestCudaDeviceAdapter.cu index b7b68be3b..e385c4dbb 100644 --- a/vtkm/cont/cuda/testing/UnitTestCudaDeviceAdapter.cu +++ b/vtkm/cont/cuda/testing/UnitTestCudaDeviceAdapter.cu @@ -15,7 +15,7 @@ int UnitTestCudaDeviceAdapter(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagCuda{}); int result = vtkm::cont::testing::TestingDeviceAdapter::Run(argc, argv); diff --git a/vtkm/cont/cuda/testing/UnitTestCudaGeometry.cu b/vtkm/cont/cuda/testing/UnitTestCudaGeometry.cu index f2e49ec03..7089b379f 100644 --- a/vtkm/cont/cuda/testing/UnitTestCudaGeometry.cu +++ b/vtkm/cont/cuda/testing/UnitTestCudaGeometry.cu @@ -14,7 +14,7 @@ int UnitTestCudaGeometry(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagCuda{}); return vtkm::cont::testing::Testing::Run( UnitTestGeometryNamespace::RunGeometryTests, argc, argv); diff --git a/vtkm/cont/cuda/testing/UnitTestCudaImplicitFunction.cu b/vtkm/cont/cuda/testing/UnitTestCudaImplicitFunction.cu index 5e4412e3e..6e227bd4d 100644 --- a/vtkm/cont/cuda/testing/UnitTestCudaImplicitFunction.cu +++ b/vtkm/cont/cuda/testing/UnitTestCudaImplicitFunction.cu @@ -23,7 +23,7 @@ void TestImplicitFunctions() int UnitTestCudaImplicitFunction(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagCuda{}); return vtkm::cont::testing::Testing::Run(TestImplicitFunctions, argc, argv); } diff --git a/vtkm/cont/cuda/testing/UnitTestCudaMath.cu b/vtkm/cont/cuda/testing/UnitTestCudaMath.cu index c6adf164f..40d784332 100644 --- a/vtkm/cont/cuda/testing/UnitTestCudaMath.cu +++ b/vtkm/cont/cuda/testing/UnitTestCudaMath.cu @@ -166,7 +166,7 @@ void RunEdgeCases() int UnitTestCudaMath(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagCuda{}); int tests_valid = vtkm::cont::testing::Testing::Run( UnitTestMathNamespace::RunMathTests, argc, argv); diff --git a/vtkm/cont/cuda/testing/UnitTestCudaPointLocatorUniformGrid.cu b/vtkm/cont/cuda/testing/UnitTestCudaPointLocatorUniformGrid.cu index be4914ccc..01d929413 100644 --- a/vtkm/cont/cuda/testing/UnitTestCudaPointLocatorUniformGrid.cu +++ b/vtkm/cont/cuda/testing/UnitTestCudaPointLocatorUniformGrid.cu @@ -12,7 +12,7 @@ int UnitTestCudaPointLocatorUniformGrid(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagCuda{}); return vtkm::cont::testing::Testing::Run( TestingPointLocatorUniformGrid(), argc, argv); diff --git a/vtkm/cont/cuda/testing/UnitTestCudaShareUserProvidedManagedMemory.cu b/vtkm/cont/cuda/testing/UnitTestCudaShareUserProvidedManagedMemory.cu index d6f2c94e0..6fcaa2df6 100644 --- a/vtkm/cont/cuda/testing/UnitTestCudaShareUserProvidedManagedMemory.cu +++ b/vtkm/cont/cuda/testing/UnitTestCudaShareUserProvidedManagedMemory.cu @@ -267,7 +267,7 @@ void Launch() int UnitTestCudaShareUserProvidedManagedMemory(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagCuda{}); int ret = vtkm::cont::testing::Testing::Run(Launch, argc, argv); return vtkm::cont::cuda::internal::Testing::CheckCudaBeforeExit(ret); diff --git a/vtkm/cont/cuda/testing/UnitTestCudaVirtualObjectHandle.cu b/vtkm/cont/cuda/testing/UnitTestCudaVirtualObjectHandle.cu index 967e278c7..b34806817 100644 --- a/vtkm/cont/cuda/testing/UnitTestCudaVirtualObjectHandle.cu +++ b/vtkm/cont/cuda/testing/UnitTestCudaVirtualObjectHandle.cu @@ -15,7 +15,7 @@ namespace void TestVirtualObjectHandle() { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagCuda{}); using DeviceAdapterList = vtkm::ListTagBase; diff --git a/vtkm/cont/internal/DeviceAdapterListHelpers.h b/vtkm/cont/internal/DeviceAdapterListHelpers.h index a76f2ff8c..a42991a50 100644 --- a/vtkm/cont/internal/DeviceAdapterListHelpers.h +++ b/vtkm/cont/internal/DeviceAdapterListHelpers.h @@ -35,7 +35,7 @@ struct ExecuteIfValidDeviceTag typename EnableIfValid::type operator()( DeviceAdapter device, Functor&& f, - const vtkm::cont::RuntimeDeviceTracker tracker, + const vtkm::cont::RuntimeDeviceTracker& tracker, Args&&... args) const { if (tracker.CanRunOn(device)) @@ -56,7 +56,7 @@ struct ExecuteIfValidDeviceTag template VTKM_CONT void ForEachValidDevice(DeviceList devices, Functor&& functor, Args&&... args) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); vtkm::ListForEach( ExecuteIfValidDeviceTag{}, devices, functor, tracker, std::forward(args)...); } diff --git a/vtkm/cont/openmp/testing/UnitTestOpenMPArrayHandle.cxx b/vtkm/cont/openmp/testing/UnitTestOpenMPArrayHandle.cxx index 870e722b8..0c505ab89 100644 --- a/vtkm/cont/openmp/testing/UnitTestOpenMPArrayHandle.cxx +++ b/vtkm/cont/openmp/testing/UnitTestOpenMPArrayHandle.cxx @@ -12,7 +12,7 @@ int UnitTestOpenMPArrayHandle(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagOpenMP{}); return vtkm::cont::testing::TestingArrayHandles::Run(argc, argv); diff --git a/vtkm/cont/openmp/testing/UnitTestOpenMPArrayHandleFancy.cxx b/vtkm/cont/openmp/testing/UnitTestOpenMPArrayHandleFancy.cxx index 11b51d2d6..18efd1590 100644 --- a/vtkm/cont/openmp/testing/UnitTestOpenMPArrayHandleFancy.cxx +++ b/vtkm/cont/openmp/testing/UnitTestOpenMPArrayHandleFancy.cxx @@ -12,7 +12,7 @@ int UnitTestOpenMPArrayHandleFancy(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagOpenMP{}); return vtkm::cont::testing::TestingFancyArrayHandles::Run( argc, argv); diff --git a/vtkm/cont/openmp/testing/UnitTestOpenMPArrayHandleVirtualCoordinates.cxx b/vtkm/cont/openmp/testing/UnitTestOpenMPArrayHandleVirtualCoordinates.cxx index 84907593c..ab7c8bbbe 100644 --- a/vtkm/cont/openmp/testing/UnitTestOpenMPArrayHandleVirtualCoordinates.cxx +++ b/vtkm/cont/openmp/testing/UnitTestOpenMPArrayHandleVirtualCoordinates.cxx @@ -12,7 +12,7 @@ int UnitTestOpenMPArrayHandleVirtualCoordinates(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagOpenMP{}); return vtkm::cont::testing::TestingArrayHandleVirtualCoordinates< vtkm::cont::DeviceAdapterTagOpenMP>::Run(argc, argv); diff --git a/vtkm/cont/openmp/testing/UnitTestOpenMPBitField.cxx b/vtkm/cont/openmp/testing/UnitTestOpenMPBitField.cxx index 98dc91d6f..6cfb1e8c1 100644 --- a/vtkm/cont/openmp/testing/UnitTestOpenMPBitField.cxx +++ b/vtkm/cont/openmp/testing/UnitTestOpenMPBitField.cxx @@ -12,7 +12,7 @@ int UnitTestOpenMPBitField(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagOpenMP{}); return vtkm::cont::testing::TestingBitField::Run(argc, argv); } diff --git a/vtkm/cont/openmp/testing/UnitTestOpenMPCellLocatorRectilinearGrid.cxx b/vtkm/cont/openmp/testing/UnitTestOpenMPCellLocatorRectilinearGrid.cxx index 699474541..a2b022c4e 100644 --- a/vtkm/cont/openmp/testing/UnitTestOpenMPCellLocatorRectilinearGrid.cxx +++ b/vtkm/cont/openmp/testing/UnitTestOpenMPCellLocatorRectilinearGrid.cxx @@ -12,7 +12,7 @@ int UnitTestOpenMPCellLocatorRectilinearGrid(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagSerial{}); return vtkm::cont::testing::Testing::Run( TestingCellLocatorRectilinearGrid(), argc, argv); diff --git a/vtkm/cont/openmp/testing/UnitTestOpenMPCellLocatorUniformBins.cxx b/vtkm/cont/openmp/testing/UnitTestOpenMPCellLocatorUniformBins.cxx index ad35a3551..ebdcaaf37 100644 --- a/vtkm/cont/openmp/testing/UnitTestOpenMPCellLocatorUniformBins.cxx +++ b/vtkm/cont/openmp/testing/UnitTestOpenMPCellLocatorUniformBins.cxx @@ -12,7 +12,7 @@ int UnitTestOpenMPCellLocatorUniformBins(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagOpenMP{}); return vtkm::cont::testing::Testing::Run( TestingCellLocatorUniformBins, argc, argv); diff --git a/vtkm/cont/openmp/testing/UnitTestOpenMPCellLocatorUniformGrid.cxx b/vtkm/cont/openmp/testing/UnitTestOpenMPCellLocatorUniformGrid.cxx index 781635efa..5ad81b356 100644 --- a/vtkm/cont/openmp/testing/UnitTestOpenMPCellLocatorUniformGrid.cxx +++ b/vtkm/cont/openmp/testing/UnitTestOpenMPCellLocatorUniformGrid.cxx @@ -12,7 +12,7 @@ int UnitTestOpenMPCellLocatorUniformGrid(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagSerial{}); return vtkm::cont::testing::Testing::Run( TestingCellLocatorUniformGrid(), argc, argv); diff --git a/vtkm/cont/openmp/testing/UnitTestOpenMPColorTable.cxx b/vtkm/cont/openmp/testing/UnitTestOpenMPColorTable.cxx index 8d6c42aa8..f5ccede8a 100644 --- a/vtkm/cont/openmp/testing/UnitTestOpenMPColorTable.cxx +++ b/vtkm/cont/openmp/testing/UnitTestOpenMPColorTable.cxx @@ -12,7 +12,7 @@ int UnitTestOpenMPColorTable(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagOpenMP{}); return vtkm::cont::testing::TestingColorTable::Run(argc, argv); diff --git a/vtkm/cont/openmp/testing/UnitTestOpenMPComputeRange.cxx b/vtkm/cont/openmp/testing/UnitTestOpenMPComputeRange.cxx index 5740206d0..76da4cec1 100644 --- a/vtkm/cont/openmp/testing/UnitTestOpenMPComputeRange.cxx +++ b/vtkm/cont/openmp/testing/UnitTestOpenMPComputeRange.cxx @@ -12,7 +12,7 @@ int UnitTestOpenMPComputeRange(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagOpenMP{}); return vtkm::cont::testing::TestingComputeRange::Run(argc, argv); diff --git a/vtkm/cont/openmp/testing/UnitTestOpenMPDataSetExplicit.cxx b/vtkm/cont/openmp/testing/UnitTestOpenMPDataSetExplicit.cxx index 7de744bd0..ce76f1d92 100644 --- a/vtkm/cont/openmp/testing/UnitTestOpenMPDataSetExplicit.cxx +++ b/vtkm/cont/openmp/testing/UnitTestOpenMPDataSetExplicit.cxx @@ -12,7 +12,7 @@ int UnitTestOpenMPDataSetExplicit(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagOpenMP{}); return vtkm::cont::testing::TestingDataSetExplicit::Run(argc, argv); diff --git a/vtkm/cont/openmp/testing/UnitTestOpenMPDataSetSingleType.cxx b/vtkm/cont/openmp/testing/UnitTestOpenMPDataSetSingleType.cxx index e670544b1..569ad65f5 100644 --- a/vtkm/cont/openmp/testing/UnitTestOpenMPDataSetSingleType.cxx +++ b/vtkm/cont/openmp/testing/UnitTestOpenMPDataSetSingleType.cxx @@ -12,7 +12,7 @@ int UnitTestOpenMPDataSetSingleType(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagOpenMP{}); return vtkm::cont::testing::TestingDataSetSingleType::Run( argc, argv); diff --git a/vtkm/cont/openmp/testing/UnitTestOpenMPDeviceAdapter.cxx b/vtkm/cont/openmp/testing/UnitTestOpenMPDeviceAdapter.cxx index f0a3d723e..258eccdf0 100644 --- a/vtkm/cont/openmp/testing/UnitTestOpenMPDeviceAdapter.cxx +++ b/vtkm/cont/openmp/testing/UnitTestOpenMPDeviceAdapter.cxx @@ -13,7 +13,7 @@ int UnitTestOpenMPDeviceAdapter(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagOpenMP{}); return vtkm::cont::testing::TestingDeviceAdapter::Run(argc, argv); diff --git a/vtkm/cont/openmp/testing/UnitTestOpenMPImplicitFunction.cxx b/vtkm/cont/openmp/testing/UnitTestOpenMPImplicitFunction.cxx index 18b2cfdd7..63d00194f 100644 --- a/vtkm/cont/openmp/testing/UnitTestOpenMPImplicitFunction.cxx +++ b/vtkm/cont/openmp/testing/UnitTestOpenMPImplicitFunction.cxx @@ -15,7 +15,7 @@ namespace void TestImplicitFunctions() { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagOpenMP{}); vtkm::cont::testing::TestingImplicitFunction testing; diff --git a/vtkm/cont/openmp/testing/UnitTestOpenMPPointLocatorUniformGrid.cxx b/vtkm/cont/openmp/testing/UnitTestOpenMPPointLocatorUniformGrid.cxx index e9c020e95..1fcd44767 100644 --- a/vtkm/cont/openmp/testing/UnitTestOpenMPPointLocatorUniformGrid.cxx +++ b/vtkm/cont/openmp/testing/UnitTestOpenMPPointLocatorUniformGrid.cxx @@ -12,7 +12,7 @@ int UnitTestOpenMPPointLocatorUniformGrid(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagOpenMP{}); return vtkm::cont::testing::Testing::Run( TestingPointLocatorUniformGrid(), argc, argv); diff --git a/vtkm/cont/openmp/testing/UnitTestOpenMPVirtualObjectHandle.cxx b/vtkm/cont/openmp/testing/UnitTestOpenMPVirtualObjectHandle.cxx index 1a9e30915..0fba3afe4 100644 --- a/vtkm/cont/openmp/testing/UnitTestOpenMPVirtualObjectHandle.cxx +++ b/vtkm/cont/openmp/testing/UnitTestOpenMPVirtualObjectHandle.cxx @@ -20,7 +20,7 @@ void TestVirtualObjectHandle() using DeviceAdapterList2 = vtkm::ListTagBase; - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagOpenMP{}); vtkm::cont::testing::TestingVirtualObjectHandle::Run(); diff --git a/vtkm/cont/serial/testing/UnitTestSerialArrayHandle.cxx b/vtkm/cont/serial/testing/UnitTestSerialArrayHandle.cxx index ce5fe69ed..939f47b20 100644 --- a/vtkm/cont/serial/testing/UnitTestSerialArrayHandle.cxx +++ b/vtkm/cont/serial/testing/UnitTestSerialArrayHandle.cxx @@ -13,7 +13,7 @@ int UnitTestSerialArrayHandle(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagSerial{}); return vtkm::cont::testing::TestingArrayHandles::Run(argc, argv); diff --git a/vtkm/cont/serial/testing/UnitTestSerialArrayHandleFancy.cxx b/vtkm/cont/serial/testing/UnitTestSerialArrayHandleFancy.cxx index 4c1bc2ad6..b84a7239f 100644 --- a/vtkm/cont/serial/testing/UnitTestSerialArrayHandleFancy.cxx +++ b/vtkm/cont/serial/testing/UnitTestSerialArrayHandleFancy.cxx @@ -13,7 +13,7 @@ int UnitTestSerialArrayHandleFancy(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagSerial{}); return vtkm::cont::testing::TestingFancyArrayHandles::Run( argc, argv); diff --git a/vtkm/cont/serial/testing/UnitTestSerialArrayHandleVirtualCoordinates.cxx b/vtkm/cont/serial/testing/UnitTestSerialArrayHandleVirtualCoordinates.cxx index 9a538e366..a01a70b7d 100644 --- a/vtkm/cont/serial/testing/UnitTestSerialArrayHandleVirtualCoordinates.cxx +++ b/vtkm/cont/serial/testing/UnitTestSerialArrayHandleVirtualCoordinates.cxx @@ -14,7 +14,7 @@ int UnitTestSerialArrayHandleVirtualCoordinates(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagSerial{}); return vtkm::cont::testing::TestingArrayHandleVirtualCoordinates< vtkm::cont::DeviceAdapterTagSerial>::Run(argc, argv); diff --git a/vtkm/cont/serial/testing/UnitTestSerialBitField.cxx b/vtkm/cont/serial/testing/UnitTestSerialBitField.cxx index d47b8af41..ce0614c31 100644 --- a/vtkm/cont/serial/testing/UnitTestSerialBitField.cxx +++ b/vtkm/cont/serial/testing/UnitTestSerialBitField.cxx @@ -12,7 +12,7 @@ int UnitTestSerialBitField(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagSerial{}); return vtkm::cont::testing::TestingBitField::Run(argc, argv); } diff --git a/vtkm/cont/serial/testing/UnitTestSerialCellLocatorRectilinearGrid.cxx b/vtkm/cont/serial/testing/UnitTestSerialCellLocatorRectilinearGrid.cxx index 7fa5181d7..370c866f4 100644 --- a/vtkm/cont/serial/testing/UnitTestSerialCellLocatorRectilinearGrid.cxx +++ b/vtkm/cont/serial/testing/UnitTestSerialCellLocatorRectilinearGrid.cxx @@ -12,7 +12,7 @@ int UnitTestSerialCellLocatorRectilinearGrid(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagSerial{}); return vtkm::cont::testing::Testing::Run( TestingCellLocatorRectilinearGrid(), argc, argv); diff --git a/vtkm/cont/serial/testing/UnitTestSerialCellLocatorUniformBins.cxx b/vtkm/cont/serial/testing/UnitTestSerialCellLocatorUniformBins.cxx index 4857f843b..eaf9973b0 100644 --- a/vtkm/cont/serial/testing/UnitTestSerialCellLocatorUniformBins.cxx +++ b/vtkm/cont/serial/testing/UnitTestSerialCellLocatorUniformBins.cxx @@ -13,7 +13,7 @@ int UnitTestSerialCellLocatorUniformBins(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagSerial{}); return vtkm::cont::testing::Testing::Run( TestingCellLocatorUniformBins, argc, argv); diff --git a/vtkm/cont/serial/testing/UnitTestSerialCellLocatorUniformGrid.cxx b/vtkm/cont/serial/testing/UnitTestSerialCellLocatorUniformGrid.cxx index 5e70e9091..0cbe01b5d 100644 --- a/vtkm/cont/serial/testing/UnitTestSerialCellLocatorUniformGrid.cxx +++ b/vtkm/cont/serial/testing/UnitTestSerialCellLocatorUniformGrid.cxx @@ -12,7 +12,7 @@ int UnitTestSerialCellLocatorUniformGrid(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagSerial{}); return vtkm::cont::testing::Testing::Run( TestingCellLocatorUniformGrid(), argc, argv); diff --git a/vtkm/cont/serial/testing/UnitTestSerialDataSetExplicit.cxx b/vtkm/cont/serial/testing/UnitTestSerialDataSetExplicit.cxx index fd8e2d1c5..687427194 100644 --- a/vtkm/cont/serial/testing/UnitTestSerialDataSetExplicit.cxx +++ b/vtkm/cont/serial/testing/UnitTestSerialDataSetExplicit.cxx @@ -13,7 +13,7 @@ int UnitTestSerialDataSetExplicit(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagSerial{}); return vtkm::cont::testing::TestingDataSetExplicit::Run(argc, argv); diff --git a/vtkm/cont/serial/testing/UnitTestSerialDataSetSingleType.cxx b/vtkm/cont/serial/testing/UnitTestSerialDataSetSingleType.cxx index b1e168a89..adc645e8e 100644 --- a/vtkm/cont/serial/testing/UnitTestSerialDataSetSingleType.cxx +++ b/vtkm/cont/serial/testing/UnitTestSerialDataSetSingleType.cxx @@ -13,7 +13,7 @@ int UnitTestSerialDataSetSingleType(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagSerial{}); return vtkm::cont::testing::TestingDataSetSingleType::Run( argc, argv); diff --git a/vtkm/cont/serial/testing/UnitTestSerialDeviceAdapter.cxx b/vtkm/cont/serial/testing/UnitTestSerialDeviceAdapter.cxx index 39d661a96..e48b75fc1 100644 --- a/vtkm/cont/serial/testing/UnitTestSerialDeviceAdapter.cxx +++ b/vtkm/cont/serial/testing/UnitTestSerialDeviceAdapter.cxx @@ -14,7 +14,7 @@ int UnitTestSerialDeviceAdapter(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagSerial{}); return vtkm::cont::testing::TestingDeviceAdapter::Run(argc, argv); diff --git a/vtkm/cont/serial/testing/UnitTestSerialGeometry.cxx b/vtkm/cont/serial/testing/UnitTestSerialGeometry.cxx index 4e07b3dfc..2b7baa904 100644 --- a/vtkm/cont/serial/testing/UnitTestSerialGeometry.cxx +++ b/vtkm/cont/serial/testing/UnitTestSerialGeometry.cxx @@ -14,7 +14,7 @@ int UnitTestSerialGeometry(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagSerial{}); return vtkm::cont::testing::Testing::Run( UnitTestGeometryNamespace::RunGeometryTests, argc, argv); diff --git a/vtkm/cont/serial/testing/UnitTestSerialImplicitFunction.cxx b/vtkm/cont/serial/testing/UnitTestSerialImplicitFunction.cxx index d350d1ab1..f7bb45214 100644 --- a/vtkm/cont/serial/testing/UnitTestSerialImplicitFunction.cxx +++ b/vtkm/cont/serial/testing/UnitTestSerialImplicitFunction.cxx @@ -23,7 +23,7 @@ void TestImplicitFunctions() int UnitTestSerialImplicitFunction(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagSerial{}); return vtkm::cont::testing::Testing::Run(TestImplicitFunctions, argc, argv); } diff --git a/vtkm/cont/serial/testing/UnitTestSerialPointLocatorUniformGrid.cxx b/vtkm/cont/serial/testing/UnitTestSerialPointLocatorUniformGrid.cxx index 18504d5d3..31db1e2e1 100644 --- a/vtkm/cont/serial/testing/UnitTestSerialPointLocatorUniformGrid.cxx +++ b/vtkm/cont/serial/testing/UnitTestSerialPointLocatorUniformGrid.cxx @@ -12,7 +12,7 @@ int UnitTestSerialPointLocatorUniformGrid(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagSerial{}); return vtkm::cont::testing::Testing::Run( TestingPointLocatorUniformGrid(), argc, argv); diff --git a/vtkm/cont/serial/testing/UnitTestSerialVirtualObjectHandle.cxx b/vtkm/cont/serial/testing/UnitTestSerialVirtualObjectHandle.cxx index bfec46572..b1a1717fd 100644 --- a/vtkm/cont/serial/testing/UnitTestSerialVirtualObjectHandle.cxx +++ b/vtkm/cont/serial/testing/UnitTestSerialVirtualObjectHandle.cxx @@ -24,7 +24,7 @@ void TestVirtualObjectHandle() int UnitTestSerialVirtualObjectHandle(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagSerial{}); return vtkm::cont::testing::Testing::Run(TestVirtualObjectHandle, argc, argv); } diff --git a/vtkm/cont/tbb/testing/UnitTestTBBArrayHandle.cxx b/vtkm/cont/tbb/testing/UnitTestTBBArrayHandle.cxx index 88a68acac..49d3bf341 100644 --- a/vtkm/cont/tbb/testing/UnitTestTBBArrayHandle.cxx +++ b/vtkm/cont/tbb/testing/UnitTestTBBArrayHandle.cxx @@ -13,7 +13,7 @@ int UnitTestTBBArrayHandle(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagTBB{}); return vtkm::cont::testing::TestingArrayHandles::Run(argc, argv); } diff --git a/vtkm/cont/tbb/testing/UnitTestTBBArrayHandleFancy.cxx b/vtkm/cont/tbb/testing/UnitTestTBBArrayHandleFancy.cxx index f37c057e0..72f7aee66 100644 --- a/vtkm/cont/tbb/testing/UnitTestTBBArrayHandleFancy.cxx +++ b/vtkm/cont/tbb/testing/UnitTestTBBArrayHandleFancy.cxx @@ -13,7 +13,7 @@ int UnitTestTBBArrayHandleFancy(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagTBB{}); return vtkm::cont::testing::TestingFancyArrayHandles::Run(argc, argv); diff --git a/vtkm/cont/tbb/testing/UnitTestTBBArrayHandleVirtualCoordinates.cxx b/vtkm/cont/tbb/testing/UnitTestTBBArrayHandleVirtualCoordinates.cxx index 6c4abb243..877a1c086 100644 --- a/vtkm/cont/tbb/testing/UnitTestTBBArrayHandleVirtualCoordinates.cxx +++ b/vtkm/cont/tbb/testing/UnitTestTBBArrayHandleVirtualCoordinates.cxx @@ -13,7 +13,7 @@ int UnitTestTBBArrayHandleVirtualCoordinates(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagTBB{}); return vtkm::cont::testing::TestingArrayHandleVirtualCoordinates< vtkm::cont::DeviceAdapterTagTBB>::Run(argc, argv); diff --git a/vtkm/cont/tbb/testing/UnitTestTBBBitField.cxx b/vtkm/cont/tbb/testing/UnitTestTBBBitField.cxx index 8ef839038..77a8e1703 100644 --- a/vtkm/cont/tbb/testing/UnitTestTBBBitField.cxx +++ b/vtkm/cont/tbb/testing/UnitTestTBBBitField.cxx @@ -12,7 +12,7 @@ int UnitTestTBBBitField(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagTBB{}); return vtkm::cont::testing::TestingBitField::Run(argc, argv); } diff --git a/vtkm/cont/tbb/testing/UnitTestTBBCellLocatorRectilinearGrid.cxx b/vtkm/cont/tbb/testing/UnitTestTBBCellLocatorRectilinearGrid.cxx index ad251ec34..f7fbc82d3 100644 --- a/vtkm/cont/tbb/testing/UnitTestTBBCellLocatorRectilinearGrid.cxx +++ b/vtkm/cont/tbb/testing/UnitTestTBBCellLocatorRectilinearGrid.cxx @@ -12,7 +12,7 @@ int UnitTestTBBCellLocatorRectilinearGrid(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagTBB{}); return vtkm::cont::testing::Testing::Run( TestingCellLocatorRectilinearGrid(), argc, argv); diff --git a/vtkm/cont/tbb/testing/UnitTestTBBCellLocatorUniformBins.cxx b/vtkm/cont/tbb/testing/UnitTestTBBCellLocatorUniformBins.cxx index 712972de4..978002632 100644 --- a/vtkm/cont/tbb/testing/UnitTestTBBCellLocatorUniformBins.cxx +++ b/vtkm/cont/tbb/testing/UnitTestTBBCellLocatorUniformBins.cxx @@ -12,7 +12,7 @@ int UnitTestTBBCellLocatorUniformBins(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagTBB{}); return vtkm::cont::testing::Testing::Run( TestingCellLocatorUniformBins, argc, argv); diff --git a/vtkm/cont/tbb/testing/UnitTestTBBCellLocatorUniformGrid.cxx b/vtkm/cont/tbb/testing/UnitTestTBBCellLocatorUniformGrid.cxx index 3062b9ea9..15a623769 100644 --- a/vtkm/cont/tbb/testing/UnitTestTBBCellLocatorUniformGrid.cxx +++ b/vtkm/cont/tbb/testing/UnitTestTBBCellLocatorUniformGrid.cxx @@ -12,7 +12,7 @@ int UnitTestTBBCellLocatorUniformGrid(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagTBB{}); return vtkm::cont::testing::Testing::Run( TestingCellLocatorUniformGrid(), argc, argv); diff --git a/vtkm/cont/tbb/testing/UnitTestTBBColorTable.cxx b/vtkm/cont/tbb/testing/UnitTestTBBColorTable.cxx index 7609a5943..f7216b451 100644 --- a/vtkm/cont/tbb/testing/UnitTestTBBColorTable.cxx +++ b/vtkm/cont/tbb/testing/UnitTestTBBColorTable.cxx @@ -14,7 +14,7 @@ int UnitTestTBBColorTable(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagTBB{}); return vtkm::cont::testing::TestingColorTable::Run(argc, argv); } diff --git a/vtkm/cont/tbb/testing/UnitTestTBBComputeRange.cxx b/vtkm/cont/tbb/testing/UnitTestTBBComputeRange.cxx index 9c83681bb..e54f6da00 100644 --- a/vtkm/cont/tbb/testing/UnitTestTBBComputeRange.cxx +++ b/vtkm/cont/tbb/testing/UnitTestTBBComputeRange.cxx @@ -14,7 +14,7 @@ int UnitTestTBBComputeRange(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagTBB{}); return vtkm::cont::testing::TestingComputeRange::Run(argc, argv); } diff --git a/vtkm/cont/tbb/testing/UnitTestTBBDataSetExplicit.cxx b/vtkm/cont/tbb/testing/UnitTestTBBDataSetExplicit.cxx index 98484376c..58227cee6 100644 --- a/vtkm/cont/tbb/testing/UnitTestTBBDataSetExplicit.cxx +++ b/vtkm/cont/tbb/testing/UnitTestTBBDataSetExplicit.cxx @@ -14,7 +14,7 @@ int UnitTestTBBDataSetExplicit(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagTBB{}); return vtkm::cont::testing::TestingDataSetExplicit::Run(argc, argv); diff --git a/vtkm/cont/tbb/testing/UnitTestTBBDataSetSingleType.cxx b/vtkm/cont/tbb/testing/UnitTestTBBDataSetSingleType.cxx index eac328a3d..9df35b73c 100644 --- a/vtkm/cont/tbb/testing/UnitTestTBBDataSetSingleType.cxx +++ b/vtkm/cont/tbb/testing/UnitTestTBBDataSetSingleType.cxx @@ -14,7 +14,7 @@ int UnitTestTBBDataSetSingleType(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagTBB{}); return vtkm::cont::testing::TestingDataSetSingleType::Run(argc, argv); diff --git a/vtkm/cont/tbb/testing/UnitTestTBBDeviceAdapter.cxx b/vtkm/cont/tbb/testing/UnitTestTBBDeviceAdapter.cxx index 51c7cfff0..a0f65b0a0 100644 --- a/vtkm/cont/tbb/testing/UnitTestTBBDeviceAdapter.cxx +++ b/vtkm/cont/tbb/testing/UnitTestTBBDeviceAdapter.cxx @@ -14,7 +14,7 @@ int UnitTestTBBDeviceAdapter(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagTBB{}); return vtkm::cont::testing::TestingDeviceAdapter::Run(argc, argv); diff --git a/vtkm/cont/tbb/testing/UnitTestTBBImplicitFunction.cxx b/vtkm/cont/tbb/testing/UnitTestTBBImplicitFunction.cxx index 7cf0a9ebb..e95d2263d 100644 --- a/vtkm/cont/tbb/testing/UnitTestTBBImplicitFunction.cxx +++ b/vtkm/cont/tbb/testing/UnitTestTBBImplicitFunction.cxx @@ -23,7 +23,7 @@ void TestImplicitFunctions() int UnitTestTBBImplicitFunction(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagTBB{}); return vtkm::cont::testing::Testing::Run(TestImplicitFunctions, argc, argv); } diff --git a/vtkm/cont/tbb/testing/UnitTestTBBPointLocatorUniformGrid.cxx b/vtkm/cont/tbb/testing/UnitTestTBBPointLocatorUniformGrid.cxx index 7a11498c7..05f03aec4 100644 --- a/vtkm/cont/tbb/testing/UnitTestTBBPointLocatorUniformGrid.cxx +++ b/vtkm/cont/tbb/testing/UnitTestTBBPointLocatorUniformGrid.cxx @@ -12,7 +12,7 @@ int UnitTestTBBPointLocatorUniformGrid(int argc, char* argv[]) { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagTBB{}); return vtkm::cont::testing::Testing::Run( TestingPointLocatorUniformGrid(), argc, argv); diff --git a/vtkm/cont/tbb/testing/UnitTestTBBVirtualObjectHandle.cxx b/vtkm/cont/tbb/testing/UnitTestTBBVirtualObjectHandle.cxx index de4550753..a1be0a423 100644 --- a/vtkm/cont/tbb/testing/UnitTestTBBVirtualObjectHandle.cxx +++ b/vtkm/cont/tbb/testing/UnitTestTBBVirtualObjectHandle.cxx @@ -16,7 +16,7 @@ namespace void TestVirtualObjectHandle() { - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ForceDevice(vtkm::cont::DeviceAdapterTagTBB{}); using DeviceAdapterList = vtkm::ListTagBase; diff --git a/vtkm/cont/testing/TestingDeviceAdapter.h b/vtkm/cont/testing/TestingDeviceAdapter.h index 7624bb436..43160250c 100644 --- a/vtkm/cont/testing/TestingDeviceAdapter.h +++ b/vtkm/cont/testing/TestingDeviceAdapter.h @@ -579,7 +579,7 @@ private: { std::cout << "-------------------------------------------" << std::endl; std::cout << "Testing Timer" << std::endl; - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); if (tracker.CanRunOn(DeviceAdapterTag())) { vtkm::cont::Timer timer{ DeviceAdapterTag() }; diff --git a/vtkm/cont/testing/UnitTestDeviceAdapterAlgorithmGeneral.cxx b/vtkm/cont/testing/UnitTestDeviceAdapterAlgorithmGeneral.cxx index 7c452ae4a..ec5def2bc 100644 --- a/vtkm/cont/testing/UnitTestDeviceAdapterAlgorithmGeneral.cxx +++ b/vtkm/cont/testing/UnitTestDeviceAdapterAlgorithmGeneral.cxx @@ -133,7 +133,7 @@ int UnitTestDeviceAdapterAlgorithmGeneral(int argc, char* argv[]) { //need to enable DeviceAdapterTagTestAlgorithmGeneral as it //is not part of the default set of devices - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); tracker.ResetDevice(vtkm::cont::DeviceAdapterTagTestAlgorithmGeneral{}); return vtkm::cont::testing::TestingDeviceAdapter< diff --git a/vtkm/cont/testing/UnitTestTryExecute.cxx b/vtkm/cont/testing/UnitTestTryExecute.cxx index 9c8bbf865..bce4f2454 100644 --- a/vtkm/cont/testing/UnitTestTryExecute.cxx +++ b/vtkm/cont/testing/UnitTestTryExecute.cxx @@ -131,7 +131,6 @@ void TryExecuteAllEdgeCases() { using ValidDevice = vtkm::cont::DeviceAdapterTagSerial; using SingleValidList = vtkm::ListTagBase; - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); std::cout << "TryExecute no Runtime, no Device, no parameters." << std::endl; vtkm::cont::TryExecute(EdgeCaseFunctor()); @@ -158,8 +157,8 @@ void RunErrorTest(bool shouldFail, bool shouldThrow, bool shouldDisable) bool threw = false; bool disabled = false; - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); - tracker.ForceDevice(Device{}); + vtkm::cont::ScopedRuntimeDeviceTracker scopedTracker; + scopedTracker.ForceDevice(Device{}); try { @@ -171,8 +170,8 @@ void RunErrorTest(bool shouldFail, bool shouldThrow, bool shouldDisable) threw = true; } + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); disabled = !tracker.CanRunOn(Device{}); - tracker.Reset(); std::cout << "Failed: " << !succeeded << " " << "Threw: " << threw << " " diff --git a/vtkm/testing/UnitTestExceptions.cxx b/vtkm/testing/UnitTestExceptions.cxx index e9a1944ec..78d527085 100644 --- a/vtkm/testing/UnitTestExceptions.cxx +++ b/vtkm/testing/UnitTestExceptions.cxx @@ -20,7 +20,7 @@ int UnitTestExceptions(int argc, char* argv[]) { vtkm::cont::Initialize(argc, argv); - auto tracker = vtkm::cont::GetRuntimeDeviceTracker(); + auto& tracker = vtkm::cont::GetRuntimeDeviceTracker(); try { diff --git a/vtkm/thirdparty/diy/update.sh b/vtkm/thirdparty/diy/update.sh index 3ce5ef0ec..02f382aaf 100755 --- a/vtkm/thirdparty/diy/update.sh +++ b/vtkm/thirdparty/diy/update.sh @@ -7,8 +7,8 @@ shopt -s dotglob readonly name="diy" readonly ownership="Diy Upstream " readonly subtree="vtkm/thirdparty/$name/vtkm$name" -readonly repo="https://gitlab.kitware.com/third-party/diy2.git" -readonly tag="for/vtk-m" +readonly repo="https://gitlab.kitware.com/robertmaynard/diy2.git" +readonly tag="for_vtkm_updated" readonly paths=" include LEGAL.txt