mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-20 02:55:47 +00:00
d0a70946b8
The kernel launch component of the runtime device adapter is fairly pointless. If the hardware supports CUDA we should expect that VTK-m has the correct kernel versions. Plus in the original version if the CUDA device was being used and the kernel launch returns cudaErrorDevicesUnavailable it was never possible to restore CUDA support. Now what happens is that the runtime tracker is marked as failed, but the calling code can always go back and trying the device again.
713 B
713 B
VTK-m CUDA detection properly handles busy devices
When an application that uses VTK-m is first launched it will do a check to see if CUDA is supported at runtime. If for some reason that CUDA card is not allowing kernel execution VTK-m would report the hardware doesn't have CUDA support.
This was problematic as was over aggressive in disabling CUDA support for hardware that could support kernel execution in the future. With the fact that every VTK-m worklet is executed through a TryExecute it is no longer necessary to be so aggressive in disabling CUDA support.
Now the behavior is that VTK-m considers a machine to have CUDA runtime support if it has 1+ GPU's of Kepler or higher hardware (SM_30+).