1. 05 Sep, 2020 2 commits
    • Kenneth Moreland's avatar
      Optionally remove all use of ArrayHandleVirtual · 63ef84ed
      Kenneth Moreland authored
      As we remove more and more virtual methods from VTK-m, I expect several
      users will be interested in completely removing them from the build for
      several reasons.
      
      1. They may be compiling for hardware that does not support virtual
      methods.
      2. They may need to compile for CUDA but need shared libraries.
      3. It should go a bit faster.
      
      To enable this, a CMake option named `VTKm_NO_DEPRECATED_VIRTUAL` is
      added. It defaults to `OFF`. But when it is `ON`, none of the code that
      both uses virtuals and is deprecated will be built.
      
      Currently, only `ArrayHandleVirtual` is deprecated, so the rest of the
      virtual classes will still be built. As we move forward, more will be
      removed until all virtual method functionality is removed.
      63ef84ed
    • Kenneth Moreland's avatar
      Deprecate ArrayHandleVirtual · e11f612a
      Kenneth Moreland authored
      Virtual methods in the execution environment are going away the next
      major release of VTK-m, so deprecate their use in preparation for that.
      e11f612a
  2. 25 Jun, 2020 1 commit
  3. 25 Feb, 2020 1 commit
    • Kenneth Moreland's avatar
      Support using Token calling PrepareForExecution in ExecutionObject · 76ce9c87
      Kenneth Moreland authored
      The old version of ExecutionObject (that only takes a device) is still
      supported, but you will get a deprecated warning if that is what is
      defined.
      
      Supporing this also included sending vtkm::cont::Token through the
      vtkm::cont::arg::Transport mechanism, which was a change that propogated
      through a lot of code.
      76ce9c87
  4. 17 Apr, 2019 1 commit
  5. 09 Apr, 2019 1 commit
  6. 27 Dec, 2018 3 commits
  7. 11 Jul, 2018 1 commit
  8. 06 Jul, 2018 1 commit
    • Robert Maynard's avatar
      VTK-m now supports passing pointers when invoking worklets. · 64958b01
      Robert Maynard authored
      The original design of invoke and the transport infrastructure
      relied on the implementation behavior of vtkm::cont types
      such as ArrayHandle that used an internal shared_ptr to managed
      state. This allowed passing by value instead of passing by
      non-const ref when needing to transfer information to the device.
      
      As VTK-m adds support for classes that use virtuals the ability
      to pass by base pointer type allows for us to invoke worklets
      using a base type without the risk of type slicing.
      
      Additional by moving over to a non-const ref Invocation we
      can update all transports that have 'output' to now be
      by ref and therefore support types that can't be copied while
      being 'more' correct.
      64958b01
  9. 02 Jul, 2018 3 commits
  10. 05 Jun, 2018 1 commit
  11. 20 Sep, 2017 1 commit
    • Kenneth Moreland's avatar
      Update copyright for Sandia · c3a3184d
      Kenneth Moreland authored
      Sandia National Laboratories recently changed management from the
      Sandia Corporation to the National Technology & Engineering Solutions
      of Sandia, LLC (NTESS). The copyright statements need to be updated
      accordingly.
      c3a3184d
  12. 07 Aug, 2017 1 commit
  13. 26 May, 2017 1 commit
  14. 25 May, 2017 1 commit
  15. 24 Mar, 2017 1 commit
    • Kenneth Moreland's avatar
      Add input range to arguments of transport · dc192b79
      Kenneth Moreland authored
      Previously the arguments to the operator of a vtkm::cont::arg::Transport
      were the control object, the input domain object, and the output range.
      If you wanted to, for example, check the size of an input array to make
      sure it matched the input range, you would have to know the meaning of
      the input domain object to query its range. This made it hard to create
      generic transports, like TransportTagArrayIn, that accept data from
      multiple different input domains but need to know the input range.
      dc192b79
  16. 19 Dec, 2016 1 commit
    • Kenneth Moreland's avatar
      Add passing input domain to transport operator · 9ea10317
      Kenneth Moreland authored
      Previously, the operator for a Transport class took the object being
      transported to the execution environment and the size of the output
      domain. This change also passes in the control-side argument for the
      input domain. This will help check input array sizes as well as make
      other potential transformations based on the input domain.
      9ea10317
  17. 16 Nov, 2016 1 commit
    • Kenneth Moreland's avatar
      Remove exports for header-only functions/methods · fdaccc22
      Kenneth Moreland authored
      Change the VTKM_CONT_EXPORT to VTKM_CONT. (Likewise for EXEC and
      EXEC_CONT.) Remove the inline from these macros so that they can be
      applied to everything, including implementations in a library.
      
      Because inline is not declared in these modifies, you have to add the
      keyword to functions and methods where the implementation is not inlined
      in the class.
      fdaccc22
  18. 24 Mar, 2016 1 commit
  19. 07 Dec, 2015 1 commit
    • Kenneth Moreland's avatar
      Add WholeArray* ControlSignature tags · 2ac8456b
      Kenneth Moreland authored
      The WholeArrayIn, WholeArrayInOut, and WholeArrayOut ControlSignature
      tags behave similarly to using an ExecObject tag with an
      ExecutionWholeArray or ExecutionWholeArrayConst object. However, the
      WholeArray* tags can simplify some implementations in two ways. First,
      it allows you to specify more precisely what data is passed in. You have
      to pass in an ArrayHandle or else an error will occur (as opposed to be
      able to pass in any type of execution object). Second, this allows you
      to easily pass in arrays stored in DynamicArrayHandle objects. The
      Invoke mechanism will automatically find the appropriate static class.
      This cannot be done easily with ExecutionWholeArray.
      2ac8456b
  20. 12 Aug, 2015 1 commit
    • Kenneth Moreland's avatar
      Add in-place (in-out) arrays to worklets. · 42aba977
      Kenneth Moreland authored
      Previously, all arrays passed to worklets were designated as either
      input or output. No in-place operation was permitted. This change adds
      the FieldInOut tag for ControlSignature in both WorkletMapField and
      WorkletMapTopology that allows you to read and write from the same
      array.
      42aba977
  21. 21 May, 2015 1 commit
  22. 14 Oct, 2014 1 commit
    • Kenneth Moreland's avatar
      Add Transport class · 30558cf7
      Kenneth Moreland authored
      The Transport class is responsible for moving data from the control
      environment to the execution environment. (Actually, it might be more
      accurate to say it gets the execution environment associated with a
      given control object.) The Transport class is templated with a tag that
      controls the mechanism used for the transport.
      30558cf7