VTK-m
2.0
|
#include <RuntimeDeviceTracker.h>
std::unique_ptr< detail::RuntimeDeviceTrackerInternals > | SavedState |
Construct a ScopedRuntimeDeviceTracker associated with the thread, associated with the provided tracker (defaults to current thread's tracker). More... | |
VTKM_CONT | ScopedRuntimeDeviceTracker (const vtkm::cont::RuntimeDeviceTracker &tracker=GetRuntimeDeviceTracker()) |
Construct a ScopedRuntimeDeviceTracker associated with the thread, associated with the provided tracker (defaults to current thread's tracker). More... | |
VTKM_CONT | ScopedRuntimeDeviceTracker (vtkm::cont::DeviceAdapterId device, RuntimeDeviceTrackerMode mode=RuntimeDeviceTrackerMode::Force, const vtkm::cont::RuntimeDeviceTracker &tracker=GetRuntimeDeviceTracker()) |
Use this constructor to modify the state of the device adapters associated with the provided tracker. More... | |
VTKM_CONT | ScopedRuntimeDeviceTracker (const std::function< bool()> &abortChecker, const vtkm::cont::RuntimeDeviceTracker &tracker=GetRuntimeDeviceTracker()) |
Use this constructor to set the abort checker functor for the provided tracker. More... | |
VTKM_CONT | ~ScopedRuntimeDeviceTracker () |
Destructor is not thread safe. More... | |
Additional Inherited Members | |
Public Member Functions inherited from vtkm::cont::RuntimeDeviceTracker | |
VTKM_CONT | ~RuntimeDeviceTracker () |
VTKM_CONT bool | CanRunOn (DeviceAdapterId deviceId) const |
Returns true if the given device adapter is supported on the current machine. More... | |
VTKM_CONT void | ReportAllocationFailure (vtkm::cont::DeviceAdapterId deviceId, const vtkm::cont::ErrorBadAllocation &) |
Report a failure to allocate memory on a device, this will flag the device as being unusable for all future invocations. More... | |
VTKM_CONT void | ReportBadDeviceFailure (vtkm::cont::DeviceAdapterId deviceId, const vtkm::cont::ErrorBadDevice &) |
Report a ErrorBadDevice failure and flag the device as unusable. More... | |
VTKM_CONT void | ResetDevice (vtkm::cont::DeviceAdapterId deviceId) |
Reset the tracker for the given device. More... | |
VTKM_CONT void | Reset () |
Reset the tracker to its default state for default devices. More... | |
VTKM_CONT void | DisableDevice (DeviceAdapterId deviceId) |
Disable the given device. More... | |
VTKM_CONT void | ForceDevice (DeviceAdapterId deviceId) |
Disable all devices except the specified one. More... | |
VTKM_CONT bool | GetThreadFriendlyMemAlloc () const |
Get/Set use of thread-friendly memory allocation for a device. More... | |
VTKM_CONT void | SetThreadFriendlyMemAlloc (bool state) |
VTKM_CONT void | CopyStateFrom (const vtkm::cont::RuntimeDeviceTracker &tracker) |
Copies the state from the given device. More... | |
VTKM_CONT bool | CheckForAbortRequest () const |
VTKM_CONT void | PrintSummary (std::ostream &out) const |
VTKM_CONT void | SetAbortChecker (const std::function< bool()> &func) |
Set/Clear the abort checker functor. More... | |
VTKM_CONT void | ClearAbortChecker () |
Set/Clear the abort checker functor. More... | |
A class to create a scoped runtime device tracker object. This object captures the state of the per-thread device tracker and will revert any changes applied during its lifetime on destruction.
VTKM_CONT vtkm::cont::ScopedRuntimeDeviceTracker::ScopedRuntimeDeviceTracker | ( | const vtkm::cont::RuntimeDeviceTracker & | tracker = GetRuntimeDeviceTracker() | ) |
Construct a ScopedRuntimeDeviceTracker associated with the thread, associated with the provided tracker (defaults to current thread's tracker).
Any modifications to the ScopedRuntimeDeviceTracker will effect what ever thread the tracker
is associated with, which might not be the thread on which the ScopedRuntimeDeviceTracker was constructed.
Constructors are not thread safe
VTKM_CONT vtkm::cont::ScopedRuntimeDeviceTracker::ScopedRuntimeDeviceTracker | ( | vtkm::cont::DeviceAdapterId | device, |
RuntimeDeviceTrackerMode | mode = RuntimeDeviceTrackerMode::Force , |
||
const vtkm::cont::RuntimeDeviceTracker & | tracker = GetRuntimeDeviceTracker() |
||
) |
Use this constructor to modify the state of the device adapters associated with the provided tracker.
Use mode
with device
as follows:
'Force' (default)
VTKM_CONT vtkm::cont::ScopedRuntimeDeviceTracker::ScopedRuntimeDeviceTracker | ( | const std::function< bool()> & | abortChecker, |
const vtkm::cont::RuntimeDeviceTracker & | tracker = GetRuntimeDeviceTracker() |
||
) |
Use this constructor to set the abort checker functor for the provided tracker.
VTKM_CONT vtkm::cont::ScopedRuntimeDeviceTracker::~ScopedRuntimeDeviceTracker | ( | ) |
Destructor is not thread safe.
|
private |
Construct a ScopedRuntimeDeviceTracker associated with the thread, associated with the provided tracker (defaults to current thread's tracker).
Any modifications to the ScopedRuntimeDeviceTracker will effect what ever thread the tracker
is associated with, which might not be the thread on which the ScopedRuntimeDeviceTracker was constructed.
Constructors are not thread safe