Skip to content

Make separate exec and cont versions of Variant

The Variant class is templated to hold objects of other types. Depending on whether those objects of are meant to be used in the control or execution side, the methods on Variant might need to be declared with (or without) special modifiers. We can sometimes try to compile the Variant methods for both host and device and ask the device compiler to ignore incompatibilities, but that does not always work.

To get around that, create two different implementations of Variant. Their API and implementation is exactly the same except one declares its methods with VTKM_CONT and the other its methods VTKM_EXEC.

Edited by Kenneth Moreland

Merge request reports