1. 25 Feb, 2019 1 commit
  2. 23 Nov, 2018 1 commit
    • Haocheng LIU's avatar
      Merge worklet testing executables into a device dependent shared library · 88596366
      Haocheng LIU authored
      VTK-m has been updated to replace old per device worklet testing executables with a device
      dependent shared library so that it's able to accept a device adapter
      at runtime.
      Meanwhile, it updates the testing infrastructure APIs. vtkm::cont::testing::Run
      function would call ForceDevice when needed and if users need the device
      adapter info at runtime, RunOnDevice function would pass the adapter into the functor.
      Optional Parser is bumped from 1.3 to 1.7.
  3. 16 Oct, 2018 2 commits
    • Kenneth Moreland's avatar
      Fix warnings about uninitalized value · bcbad610
      Kenneth Moreland authored
      In some functors within Algorithm.h, the functor did not have a
      default constructor that initialized its fields. This could in turn
      lead to a warning about using it unitialized.
    • Kenneth Moreland's avatar
      Remove TryExecute from filters · bddad9b3
      Kenneth Moreland authored
      Now that the dispatcher does its own TryExecute, filters do not need to
      do that. This change requires all worklets called by filters to be able
      to execute without knowing the device a priori.
  4. 08 Sep, 2018 1 commit
    • Kenneth Moreland's avatar
      Add ExecutionAndControlObjectBase · 2b054873
      Kenneth Moreland authored
      This is a subclass of ExecutionObject and a superset of its
      functionality. In addition to having a PrepareForExecution method, it
      also has a PrepareForControl method that gets an object appropriate for
      the control environment. This is helpful for situations where you need
      code to work in both environments, such as the functor in an
      Also added several runtime checks for execution objects and execution
      and cotnrol objects.
  5. 29 Aug, 2018 1 commit
  6. 16 Aug, 2018 1 commit
  7. 10 Jul, 2018 1 commit
    • Kenneth Moreland's avatar
      Shorten code for PrepareArgForExec · f14021dd
      Kenneth Moreland authored
      By making is_base_of part of PrepareArgForExec, we can shorten not only
      the C++ code but also the code that is generated by it.
      Also, return && instead of by value when passing through the argument.
      Changes thanks to Robert Maynard.
  8. 06 Jul, 2018 1 commit
    • Kenneth Moreland's avatar
      Support ExecArg behavior in vtkm::cont::Algorithm methods · 3b828608
      Kenneth Moreland authored
      Most of the arguments given to device adapter algorithms are actually
      control-side arguments that get converted to execution objects internally
      (usually a `vtkm::cont::ArrayHandle`). However, some of the algorithms,
      take an argument that is passed directly to the execution environment, such
      as the predicate argument of `Sort`. If the argument is a plain-old-data
      (POD) type, which is common enough, then you can just pass the object
      straight through. However, if the object has any special elements that have
      to be transferred to the execution environment, such as internal arrays,
      passing this to the `vtkm::cont::Algorithm` functions becomes
      To cover this use case, all the `vtkm::cont::Algorithm` functions now
      support automatically transferring objects that support the `ExecObject`
      worklet convention. If any argument to any of the `vtkm::cont::Algorithm`
      functions inherits from `vtkm::cont::ExecutionObjectBase`, then the
      `PrepareForExecution` method is called with the device the algorithm is
      running on, which allows these device-specific objects to be used without
      the hassle of creating a `TryExecute`.
  9. 14 Jun, 2018 1 commit
    • luz.paz's avatar
      Misc. typos · 940c8918
      luz.paz authored
      Found via `codespell` and `grep`
      more typos
      includes source typo change and a typo that needs further review
      follow-up typos
      Follow-up typos
      Revert a commit
  10. 05 Jun, 2018 1 commit
  11. 02 Apr, 2018 1 commit
  12. 12 Dec, 2017 1 commit
  13. 11 Dec, 2017 1 commit
  14. 29 Nov, 2017 1 commit