vtk-m2/vtkm/cont/cuda/internal
Kenneth Moreland 4d9ce24888 Synchronize CUDA timer when stopping it
Previously, when Stop was called on a Cuda timer, it would record a stop
event but it would not synchronize it at that time. Instead, the
synchronize was only called when GetElapsedTime was called. The problem
is that the time of the event is only marked when synchronize is called.
Thus, if the event completed before GetElapsedTime was called, it would
record the time from when the event acutally happened to the time when
GetElapsedTime was called as part of the elapsed time, which is
incorrect.

Fix the problem by synchronizing when Stop is called. Although this
makes the Timer more invasive, generally using the Timer can cause
synchronization to happen. This behavior is consistent with the Timer
implementation for other devices.
2019-02-28 15:08:32 -07:00
..
testing VTK-m yet again has properly installed headers. 2019-01-24 14:26:40 -05:00
ArrayManagerExecutionCuda.cu vtk-m ArrayHandle + basic storage has an optimized PrepareForDevice method 2018-02-16 10:00:28 -05:00
ArrayManagerExecutionCuda.h Initial implementation of general logging. 2018-10-02 11:37:55 -04:00
CMakeLists.txt VTK-m yet again has properly installed headers. 2019-01-24 14:26:40 -05:00
CudaAllocator.cu CudaAllocator allows managed memory to be explicitly disabled 2018-12-28 11:30:29 -05:00
CudaAllocator.h CudaAllocator allows managed memory to be explicitly disabled 2018-12-28 11:30:29 -05:00
DeviceAdapterAlgorithmCuda.cu Use std::call_once to construct singeltons 2018-08-06 16:36:03 -04:00
DeviceAdapterAlgorithmCuda.h Initial implementation of general logging. 2018-10-02 11:37:55 -04:00
DeviceAdapterAtomicArrayImplementationCuda.h Add VTKM_CUDA_DEVICE_PASS preprocessing definition. 2019-01-24 11:23:45 -05:00
DeviceAdapterRuntimeDetectorCuda.cu Re-implement DeviceAdapterRuntimeDetector to avoid ODR violations. 2018-05-15 13:08:34 -04:00
DeviceAdapterRuntimeDetectorCuda.cxx Simplify the DeviceAdapterRuntimeDetectorCuda to not do a kernel launch. 2019-02-04 13:27:20 -05:00
DeviceAdapterRuntimeDetectorCuda.h Re-implement DeviceAdapterRuntimeDetector to avoid ODR violations. 2018-05-15 13:08:34 -04:00
DeviceAdapterTagCuda.h Update copyright for Sandia 2017-09-20 15:33:44 -06:00
DeviceAdapterTimerImplementationCuda.cu Synchronize CUDA timer when stopping it 2019-02-28 15:08:32 -07:00
DeviceAdapterTimerImplementationCuda.h Add const correctness to Timer 2019-02-28 15:08:16 -07:00
ExecutionArrayInterfaceBasicCuda.cu Initial implementation of general logging. 2018-10-02 11:37:55 -04:00
ExecutionArrayInterfaceBasicCuda.h Refactor ExecutionArrayInterfaceBasic to use inheriting constructors 2018-07-25 12:03:48 -04:00
MakeThrustIterator.h Correct issues found be enabling more CUDA warnings. 2018-04-23 14:27:53 -04:00
TaskTuner.h Remove unneeded typeinfo includes 2018-07-17 11:41:53 -04:00
ThrustExceptionHandler.h Update copyright for Sandia 2017-09-20 15:33:44 -06:00
VirtualObjectTransferCuda.h Support deferred freeing for CUDA memory 2018-08-16 12:05:36 -04:00