mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-08 21:33:55 +00:00
Move RuntimeDeviceTracker to vtkm::cont
Before it was in the vtkm::cont::internal namespace. However, we expect to be using this feature quite a bit more as we want VTK-m to handle multiple devices effectively (as in, just figure it out and go).
This commit is contained in:
parent
d3eafe4b26
commit
b9d3206ea6
@ -64,6 +64,7 @@ set(headers
|
||||
ErrorInternal.h
|
||||
Field.h
|
||||
RuntimeDeviceInformation.h
|
||||
RuntimeDeviceTracker.h
|
||||
Storage.h
|
||||
StorageBasic.h
|
||||
StorageImplicit.h
|
||||
|
@ -17,8 +17,8 @@
|
||||
// Laboratory (LANL), the U.S. Government retains certain rights in
|
||||
// this software.
|
||||
//============================================================================
|
||||
#ifndef vtk_m_cont_internal_RuntimeDeviceTracker_h
|
||||
#define vtk_m_cont_internal_RuntimeDeviceTracker_h
|
||||
#ifndef vtk_m_cont_RuntimeDeviceTracker_h
|
||||
#define vtk_m_cont_RuntimeDeviceTracker_h
|
||||
|
||||
#include <vtkm/cont/ErrorBadAllocation.h>
|
||||
#include <vtkm/cont/RuntimeDeviceInformation.h>
|
||||
@ -32,7 +32,6 @@
|
||||
|
||||
namespace vtkm {
|
||||
namespace cont {
|
||||
namespace internal {
|
||||
|
||||
/// A class that can be used to determine if a given device adapter
|
||||
/// is supported on the current machine at runtime. This is a more
|
||||
@ -117,7 +116,6 @@ private:
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
} // namespace vtkm::cont::internal
|
||||
} // namespace vtkm::cont
|
||||
|
||||
#endif //vtk_m_filter_internal_RuntimeDeviceTracker_h
|
||||
#endif //vtk_m_filter_RuntimeDeviceTracker_h
|
@ -25,7 +25,7 @@
|
||||
#include <vtkm/cont/ErrorBadType.h>
|
||||
#include <vtkm/cont/ErrorBadValue.h>
|
||||
|
||||
#include <vtkm/cont/internal/RuntimeDeviceTracker.h>
|
||||
#include <vtkm/cont/RuntimeDeviceTracker.h>
|
||||
|
||||
namespace vtkm {
|
||||
namespace cont {
|
||||
@ -39,7 +39,7 @@ template<typename Functor, typename Device>
|
||||
struct TryExecuteRunIfValid<Functor, Device, false>
|
||||
{
|
||||
VTKM_CONT
|
||||
static bool Run(Functor &, vtkm::cont::internal::RuntimeDeviceTracker &) {
|
||||
static bool Run(Functor &, vtkm::cont::RuntimeDeviceTracker &) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
@ -51,7 +51,7 @@ struct TryExecuteRunIfValid<Functor, Device, true>
|
||||
|
||||
VTKM_CONT
|
||||
static bool Run(Functor &functor,
|
||||
vtkm::cont::internal::RuntimeDeviceTracker &tracker)
|
||||
vtkm::cont::RuntimeDeviceTracker &tracker)
|
||||
{
|
||||
if (tracker.CanRunOn(Device()))
|
||||
{
|
||||
@ -104,13 +104,13 @@ struct TryExecuteImpl
|
||||
// Warning, these are a references. Make sure referenced objects do not go
|
||||
// out of scope.
|
||||
FunctorType &Functor;
|
||||
vtkm::cont::internal::RuntimeDeviceTracker &Tracker;
|
||||
vtkm::cont::RuntimeDeviceTracker &Tracker;
|
||||
|
||||
bool Success;
|
||||
|
||||
VTKM_CONT
|
||||
TryExecuteImpl(FunctorType &functor,
|
||||
vtkm::cont::internal::RuntimeDeviceTracker &tracker)
|
||||
vtkm::cont::RuntimeDeviceTracker &tracker)
|
||||
: Functor(functor), Tracker(tracker), Success(false) { }
|
||||
|
||||
template<typename Device>
|
||||
@ -159,7 +159,7 @@ private:
|
||||
template<typename Functor, typename DeviceList>
|
||||
VTKM_CONT
|
||||
bool TryExecute(const Functor &functor,
|
||||
vtkm::cont::internal::RuntimeDeviceTracker &tracker,
|
||||
vtkm::cont::RuntimeDeviceTracker &tracker,
|
||||
DeviceList)
|
||||
{
|
||||
detail::TryExecuteImpl<const Functor> internals(functor, tracker);
|
||||
@ -169,7 +169,7 @@ bool TryExecute(const Functor &functor,
|
||||
template<typename Functor, typename DeviceList>
|
||||
VTKM_CONT
|
||||
bool TryExecute(Functor &functor,
|
||||
vtkm::cont::internal::RuntimeDeviceTracker &tracker,
|
||||
vtkm::cont::RuntimeDeviceTracker &tracker,
|
||||
DeviceList)
|
||||
{
|
||||
detail::TryExecuteImpl<Functor> internals(functor, tracker);
|
||||
@ -180,14 +180,14 @@ template<typename Functor, typename DeviceList>
|
||||
VTKM_CONT
|
||||
bool TryExecute(const Functor &functor, DeviceList)
|
||||
{
|
||||
vtkm::cont::internal::RuntimeDeviceTracker tracker;
|
||||
vtkm::cont::RuntimeDeviceTracker tracker;
|
||||
return vtkm::cont::TryExecute(functor, tracker, DeviceList());
|
||||
}
|
||||
template<typename Functor, typename DeviceList>
|
||||
VTKM_CONT
|
||||
bool TryExecute(Functor &functor, DeviceList)
|
||||
{
|
||||
vtkm::cont::internal::RuntimeDeviceTracker tracker;
|
||||
vtkm::cont::RuntimeDeviceTracker tracker;
|
||||
return vtkm::cont::TryExecute(functor, tracker, DeviceList());
|
||||
}
|
||||
template<typename Functor>
|
||||
|
@ -33,7 +33,6 @@ set(headers
|
||||
DynamicTransform.h
|
||||
FunctorsGeneral.h
|
||||
IteratorFromArrayPortal.h
|
||||
RuntimeDeviceTracker.h
|
||||
SimplePolymorphicContainer.h
|
||||
StorageError.h
|
||||
)
|
||||
|
@ -25,7 +25,7 @@
|
||||
#include <vtkm/cont/DynamicCellSet.h>
|
||||
#include <vtkm/cont/CoordinateSystem.h>
|
||||
#include <vtkm/cont/Field.h>
|
||||
#include <vtkm/cont/internal/RuntimeDeviceTracker.h>
|
||||
#include <vtkm/cont/RuntimeDeviceTracker.h>
|
||||
|
||||
#include <vtkm/filter/PolicyBase.h>
|
||||
#include <vtkm/filter/ResultDataSet.h>
|
||||
@ -90,7 +90,7 @@ private:
|
||||
std::string OutputFieldName;
|
||||
vtkm::Id CellSetIndex;
|
||||
vtkm::Id CoordinateSystemIndex;
|
||||
vtkm::cont::internal::RuntimeDeviceTracker Tracker;
|
||||
vtkm::cont::RuntimeDeviceTracker Tracker;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -25,7 +25,7 @@
|
||||
#include <vtkm/cont/DynamicCellSet.h>
|
||||
#include <vtkm/cont/CoordinateSystem.h>
|
||||
#include <vtkm/cont/Field.h>
|
||||
#include <vtkm/cont/internal/RuntimeDeviceTracker.h>
|
||||
#include <vtkm/cont/RuntimeDeviceTracker.h>
|
||||
|
||||
#include <vtkm/filter/PolicyBase.h>
|
||||
#include <vtkm/filter/ResultDataSet.h>
|
||||
@ -117,7 +117,7 @@ private:
|
||||
std::string OutputFieldName;
|
||||
vtkm::Id CellSetIndex;
|
||||
vtkm::Id CoordinateSystemIndex;
|
||||
vtkm::cont::internal::RuntimeDeviceTracker Tracker;
|
||||
vtkm::cont::RuntimeDeviceTracker Tracker;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include <vtkm/cont/DataSet.h>
|
||||
#include <vtkm/cont/CoordinateSystem.h>
|
||||
#include <vtkm/cont/Field.h>
|
||||
#include <vtkm/cont/internal/RuntimeDeviceTracker.h>
|
||||
#include <vtkm/cont/RuntimeDeviceTracker.h>
|
||||
|
||||
#include <vtkm/filter/PolicyBase.h>
|
||||
#include <vtkm/filter/ResultField.h>
|
||||
@ -88,7 +88,7 @@ private:
|
||||
const vtkm::filter::PolicyBase<DerivedPolicy>& policy);
|
||||
|
||||
std::string OutputFieldName;
|
||||
vtkm::cont::internal::RuntimeDeviceTracker Tracker;
|
||||
vtkm::cont::RuntimeDeviceTracker Tracker;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include <vtkm/cont/DataSet.h>
|
||||
#include <vtkm/cont/TryExecute.h>
|
||||
#include <vtkm/cont/internal/DeviceAdapterTag.h>
|
||||
#include <vtkm/cont/internal/RuntimeDeviceTracker.h>
|
||||
#include <vtkm/cont/RuntimeDeviceTracker.h>
|
||||
|
||||
#include <vtkm/filter/FieldMetadata.h>
|
||||
#include <vtkm/filter/PolicyBase.h>
|
||||
@ -41,7 +41,7 @@ struct ResolveFieldTypeAndExecute
|
||||
const vtkm::cont::DataSet &InputData;
|
||||
const vtkm::filter::FieldMetadata& Metadata;
|
||||
const vtkm::filter::PolicyBase<DerivedPolicy>& Policy;
|
||||
vtkm::cont::internal::RuntimeDeviceTracker& Tracker;
|
||||
vtkm::cont::RuntimeDeviceTracker& Tracker;
|
||||
ResultType& Result;
|
||||
|
||||
ResolveFieldTypeAndExecute(
|
||||
@ -49,7 +49,7 @@ struct ResolveFieldTypeAndExecute
|
||||
const vtkm::cont::DataSet &inputData,
|
||||
const vtkm::filter::FieldMetadata& fieldMeta,
|
||||
const vtkm::filter::PolicyBase<DerivedPolicy>& policy,
|
||||
vtkm::cont::internal::RuntimeDeviceTracker& tracker,
|
||||
vtkm::cont::RuntimeDeviceTracker& tracker,
|
||||
ResultType& result):
|
||||
DerivedClass(derivedClass),
|
||||
InputData(inputData),
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include <vtkm/cont/DataSet.h>
|
||||
#include <vtkm/cont/TryExecute.h>
|
||||
#include <vtkm/cont/internal/DeviceAdapterTag.h>
|
||||
#include <vtkm/cont/internal/RuntimeDeviceTracker.h>
|
||||
#include <vtkm/cont/RuntimeDeviceTracker.h>
|
||||
|
||||
#include <vtkm/filter/FieldMetadata.h>
|
||||
#include <vtkm/filter/PolicyBase.h>
|
||||
@ -48,7 +48,7 @@ struct ResolveFieldTypeAndMap
|
||||
vtkm::filter::ResultDataSet& InputResult;
|
||||
const vtkm::filter::FieldMetadata& Metadata;
|
||||
const vtkm::filter::PolicyBase<DerivedPolicy>& Policy;
|
||||
vtkm::cont::internal::RuntimeDeviceTracker& Tracker;
|
||||
vtkm::cont::RuntimeDeviceTracker& Tracker;
|
||||
bool& RanProperly;
|
||||
|
||||
|
||||
@ -56,7 +56,7 @@ struct ResolveFieldTypeAndMap
|
||||
vtkm::filter::ResultDataSet& inResult,
|
||||
const vtkm::filter::FieldMetadata& fieldMeta,
|
||||
const vtkm::filter::PolicyBase<DerivedPolicy>& policy,
|
||||
vtkm::cont::internal::RuntimeDeviceTracker& tracker,
|
||||
vtkm::cont::RuntimeDeviceTracker& tracker,
|
||||
bool& ran):
|
||||
DerivedClass(derivedClass),
|
||||
InputResult(inResult),
|
||||
|
@ -20,8 +20,8 @@
|
||||
|
||||
#include <vtkm/rendering/MapperRayTracer.h>
|
||||
|
||||
#include <vtkm/cont/RuntimeDeviceTracker.h>
|
||||
#include <vtkm/cont/TryExecute.h>
|
||||
#include <vtkm/cont/internal/RuntimeDeviceTracker.h>
|
||||
#include <vtkm/cont/internal/SimplePolymorphicContainer.h>
|
||||
|
||||
#include <vtkm/rendering/CanvasRayTracer.h>
|
||||
@ -35,7 +35,7 @@ namespace rendering {
|
||||
struct MapperRayTracer::InternalsType
|
||||
{
|
||||
vtkm::rendering::CanvasRayTracer *Canvas;
|
||||
vtkm::cont::internal::RuntimeDeviceTracker DeviceTracker;
|
||||
vtkm::cont::RuntimeDeviceTracker DeviceTracker;
|
||||
std::shared_ptr<vtkm::cont::internal::SimplePolymorphicContainerBase>
|
||||
RayTracerContainer;
|
||||
|
||||
|
@ -20,8 +20,8 @@
|
||||
|
||||
#include <vtkm/rendering/MapperVolume.h>
|
||||
|
||||
#include <vtkm/cont/RuntimeDeviceTracker.h>
|
||||
#include <vtkm/cont/TryExecute.h>
|
||||
#include <vtkm/cont/internal/RuntimeDeviceTracker.h>
|
||||
#include <vtkm/cont/internal/SimplePolymorphicContainer.h>
|
||||
|
||||
#include <vtkm/rendering/CanvasRayTracer.h>
|
||||
@ -41,7 +41,7 @@ struct MapperVolume::InternalsType
|
||||
vtkm::rendering::CanvasRayTracer *Canvas;
|
||||
vtkm::Float32 SampleDistance;
|
||||
bool CompositeBackground;
|
||||
vtkm::cont::internal::RuntimeDeviceTracker DeviceTracker;
|
||||
vtkm::cont::RuntimeDeviceTracker DeviceTracker;
|
||||
std::shared_ptr<vtkm::cont::internal::SimplePolymorphicContainerBase>
|
||||
RayTracerContainer;
|
||||
|
||||
|
@ -55,7 +55,7 @@ struct TriangulatorFunctor
|
||||
void RunTriangulator(const vtkm::cont::DynamicCellSet &cellSet,
|
||||
vtkm::cont::ArrayHandle<vtkm::Vec<vtkm::Id,4> > &indices,
|
||||
vtkm::Id &numberOfTriangles,
|
||||
vtkm::cont::internal::RuntimeDeviceTracker &tracker)
|
||||
vtkm::cont::RuntimeDeviceTracker &tracker)
|
||||
{
|
||||
// TODO: Should the rendering library support policies or some other way to
|
||||
// configure with custom devices?
|
||||
@ -75,7 +75,7 @@ void RunTriangulator(const vtkm::cont::DynamicCellSet &cellSet,
|
||||
vtkm::cont::ArrayHandle<vtkm::Vec<vtkm::Id,4> > &indices,
|
||||
vtkm::Id &numberOfTriangles)
|
||||
{
|
||||
vtkm::cont::internal::RuntimeDeviceTracker tracker;
|
||||
vtkm::cont::RuntimeDeviceTracker tracker;
|
||||
vtkm::rendering::internal::RunTriangulator(
|
||||
cellSet, indices, numberOfTriangles, tracker);
|
||||
}
|
||||
|
@ -24,7 +24,7 @@
|
||||
|
||||
#include <vtkm/cont/ArrayHandle.h>
|
||||
#include <vtkm/cont/DynamicCellSet.h>
|
||||
#include <vtkm/cont/internal/RuntimeDeviceTracker.h>
|
||||
#include <vtkm/cont/RuntimeDeviceTracker.h>
|
||||
|
||||
namespace vtkm {
|
||||
namespace rendering {
|
||||
@ -43,7 +43,7 @@ VTKM_RENDERING_EXPORT
|
||||
void RunTriangulator(const vtkm::cont::DynamicCellSet &cellSet,
|
||||
vtkm::cont::ArrayHandle<vtkm::Vec<vtkm::Id,4> > &indices,
|
||||
vtkm::Id &numberOfTriangles,
|
||||
vtkm::cont::internal::RuntimeDeviceTracker &tracker);
|
||||
vtkm::cont::RuntimeDeviceTracker &tracker);
|
||||
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user