Add ability to specialize worklet for device
This adds an ExecutionSignature tag named Device that passes the DeviceAdapterTag as an argument to the worklet's operator(). This allows worklets to specialize their code based on the device.
Merge request reports
Activity
Errors:
- commit 68a0afb3 is not allowed because the following files are not formatted according to the 'clang-format-3.8' check:
vtkm/internal/Invocation.h
,vtkm/worklet/internal/DispatcherBase.h
,vtkm/worklet/testing/UnitTestWorkletMapFieldExecArg.cxx
. Post a comment ending in the lineDo: reformat
to rewrite the MR source branch automatically.
Please rewrite commits to fix the errors listed above (adding fixup commits will not resolve the errors) and force-push the branch again to update the merge request.
- commit 68a0afb3 is not allowed because the following files are not formatted according to the 'clang-format-3.8' check:
mentioned in issue #362 (closed)
added 1 commit
- b8bff820 - Add ability to specialize worklet for device
added 27 commits
-
b8bff820...e787d52a - 26 commits from branch
vtk:master
- 4e34feec - Add ability to specialize worklet for device
-
b8bff820...e787d52a - 26 commits from branch
@sujin.philip Would you like to review this code?
@kmorel, this looks good to me. I am just unsure about the inclusion of
ArrayHandle.h
inArrayHandle.hxx
andArrayHandleBasicImpl.hxx
. Could you tell me why those changes are required?ArrayHandle.h
was always included fromArrayHandle.hxx
. IncludingArrayHandle.h
won't work otherwise since the implementation of many of the methods is inArrayHandle.hxx
.What is new is including
ArrayHandle.hxx
fromArrayHandle.h
. The only reason why I added this (much like many of the other.hxx
files) is so that my IDE doesn't flip out when it loads the.hxx
file. The include guards prevent recursive inclusion. It does not have any actual effect on the compilation as nothing includesArrayHandle.h
beforeArrayHandle.hxx
.I didn't actually make any changes to
ArrayHandleBasicImpl.hxx
. I did add that include toArrayHandleBasicImpl.cxx
. I don't recall exactly why I added that. (I might have been struggling with getting the include guards right at one point.) At any rate, it makes sense forArrayHandleBasicImpl.cxx
to includeArrayHandle.h
, and since it is a .cxx file that is not included from anywhere, it shouldn't affect any other translation units.mentioned in commit 04254dbd