Skip to content

Better fallback for ArrayGetValue

Kenneth Moreland requested to merge kmorel/vtk-m:get-value-fallback into master

To avoid having to use a device compiler every time you wish to use ArrayGetValue, the actual implementation is compiled into the vtkm_cont library. To allow this to work for all the templated versions of ArrayHandle, the implementation uses the extract component features of UnknownArrayHandle. This works for most common arrays, but not all arrays.

For arrays that cannot be directly represented by an ArrayHandleStride, the fallback is bad. The entire array has to be pulled to the host and then copied serially to a basic array.

For ArrayGetValue, this is just silly. So, for arrays that cannot be simply represented by ArrayHandleStride, make a fallback that just uses ReadPortal to get the data. Often this is not the most efficient method, but it is better than the current alternative.

Merge request reports