1. 22 Apr, 2019 1 commit
    • Robert Maynard's avatar
      For VTK-m libs all includes of DeviceAdapterTagCuda happen from cuda files · ff687016
      Robert Maynard authored
      It is very easy to cause ODR violations with DeviceAdapterTagCuda.
      If you include that header from a C++ file and a CUDA file inside
      the same program we an ODR violation. The reasons is that the C++
      versions will say the tag is invalid, and the CUDA will say the
      tag is valid.
      The solution to this is that any compilation unit that includes
      DeviceAdapterTagCuda from a version of VTK-m that has CUDA enabled
      must be invoked by the cuda compiler.
  2. 17 Apr, 2019 1 commit
  3. 09 Apr, 2019 1 commit
  4. 25 Feb, 2019 1 commit
    • Kenneth Moreland's avatar
      Add Mask capabilities to worklets · 191d6e55
      Kenneth Moreland authored
      Mask objects allow you to specify which output values should be
      generated when a worklet is run. That is, the Mask allows you to skip
      the invocation of a worklet for any number of outputs.
  5. 17 Jan, 2019 1 commit
  6. 05 Jun, 2018 1 commit
  7. 25 May, 2018 1 commit
  8. 25 Sep, 2017 1 commit
  9. 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
  10. 17 Aug, 2017 1 commit
  11. 26 May, 2017 1 commit
  12. 25 May, 2017 2 commits
    • Robert Maynard's avatar
      Add TaskTiling1D/3D which use faux virtuals to reduce binary size. · 60a405ef
      Robert Maynard authored
      Redesigns the TBB and Serial backends and the vtkm::exec::Task concept so that
      we can re-use the same launching logic for all Worklets, instead of generating
      per worlet code. To keep the performance the same the TilingTask now is past
      a range of indices to work on, rather than a single index.
      Binary size reduction:
      WorkletTests_SERIAL old - 19MB
      WorkletTests_SERIAL new - 18MB
      WorkletTests_TBB old - 39MB
      WorkletTests_TBB new - 18MB
      libvtkAcceleratorsVTKm old - 48MB
      libvtkAcceleratorsVTKm new - 19MB
    • Kitware Robot's avatar
      clang-format: apply to the entire tree · 4ade5f57
      Kitware Robot authored
  13. 18 May, 2017 1 commit
  14. 02 May, 2017 1 commit
    • Robert Maynard's avatar
      Add vtkm::exec::TaskBase, and rename WorkletInvokeFunctor to TaskSingular · 022c36fa
      Robert Maynard authored
      Previously WorkletInvokeFunctor inherited from vtkm::exec::FunctorBase,
      which is also the base class for all users Worklets and for all functors
      based to DeviceAdapter::Schedule.
      This is done for a few reasons. The first is that we reduce the
      minimum size of user worklets. Previously the users worklet would hold
      a reference to the error message, and so would the wrapper class added
      when calling DeviceAdapter::Schedule. Now we only have the users worklet
      holding a reference.
      Second, by refactoring to have two base classes we can better improve
      the documentation on what responsibilities FunctorBase.h has, compared
      to TaskBase.
  15. 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.
  16. 31 Aug, 2016 1 commit
  17. 18 Aug, 2016 1 commit
  18. 17 Aug, 2016 1 commit
  19. 04 May, 2016 1 commit
    • Robert Maynard's avatar
      Simplify ThreadIndicies so link time is reduced. · 90099d1c
      Robert Maynard authored
      ThreadIndicies constructor was templated on the invocation type, which created
      thousand's of versions of that symbol which all had the same behavior. So now
      remove that and move that logic into a Worklet function since it requires
      the invocation info.
  20. 06 Nov, 2015 1 commit
    • Kenneth Moreland's avatar
      Enable output to input map in fetch mechanism. · 7b6e6e4a
      Kenneth Moreland authored
      This changes the interface to the ThreadIndices classes to have both
      input and output indices. It also adds a visit index to ThreadIndices.
      Also added the VisitIndex execution signature tag, which relies on this
  21. 07 Oct, 2015 1 commit
    • Kenneth Moreland's avatar
      Change Fetches to use ThreadIndices instead of Invocation. · 99ce66c6
      Kenneth Moreland authored
      Previously, all Fetch objects received an Invocation object in their
      Load and Store methods. The point of this was that it allowed the Fetch
      to get data from any of the execution objects. However, every Fetch
      either just got data directly from its associated execution object or
      else used a secondary execution object (the input domain) to get indices
      into their own execution object.
      This left two potential areas for improvement. First, pulling data out
      of the Invocation object was unnecessarily complicated. It would be much
      nicer to get data directly from the associated execution object. Second,
      when getting index information from the input domain, it was often the
      case that extra computations were necessary (particularly on structured
      cell sets). There was no way to share the index information among
      Fetches, and therefore the computations were replicated.
      This change removes the Invocation from the Fetch Load and Store.
      Instead, it passes the associated execution object and a new object type
      called the ThreadIndices. The ThreadIndices are customized for the input
      domain and therefore have all the information needed for a redirected
      lookup. It is also a thread-local object so it can cache computed
      indices and save on computation time.
  22. 17 Sep, 2015 1 commit
    • Kenneth Moreland's avatar
      Declare new VTKM_STATIC_ASSERT · b15940c1
      Kenneth Moreland authored
      This is to be used in place of BOOST_STATIC_ASSERT so that we can
      control its implementation.
      The implementation is designed to fix the issue where the latest XCode
      clang compiler gives a warning about a unused typedefs when the boost
      static assert is used within a function. (This warning also happens when
      using the C++11 static_assert keyword.) You can suppress this warning
      with _Pragma commands, but _Pragma commands inside a block is not
      supported in GCC. The implementation of VTKM_STATIC_ASSERT handles all
      current cases.
  23. 14 Aug, 2015 1 commit
    • Kenneth Moreland's avatar
      Replace BOOST_MPL_ASSERT with BOOST_STATIC_ASSERT · e301ba0a
      Kenneth Moreland authored
      BOOST_MPL_ASSERT is causing warnings in the PGI compiler. Apparently,
      when BOOST_MPL_ASSERT succeeds it declares a static object with a unqiue
      name scoped to the file. The problem is that the PGI compiler is pretty
      picky about things being declared without being used, so it was emitting
      useless warnings about successful BOOST_MPL_ASSERTs. However,
      BOOST_STATIC_ASSERT does not seem to have this problem, so for the benefit
      of PGI change the compile-time assert method.
  24. 13 Aug, 2015 1 commit
  25. 30 Jul, 2015 1 commit
    • Kenneth Moreland's avatar
      Always disable conversion warnings when including boost header files · 21b3b318
      Kenneth Moreland authored
      On one of my compile platforms, GCC was giving conversion warnings from
      any boost include that was not wrapped in pragmas to disable conversion
      warnings. To make things easier and more robust, I created a pair of
      be wrapped around any #include of a boost header file.
  26. 26 May, 2015 1 commit
  27. 21 May, 2015 1 commit
  28. 22 Oct, 2014 1 commit
    • Kenneth Moreland's avatar
      MSVC fixes · 9ac538b6
      Kenneth Moreland authored
      One fix is a simple (pointless) compiler warning about precision. The
      other fix is an error in one of the test codes that did not clear out
      the message string in an error message buffer like it was supposed to.
  29. 21 Oct, 2014 1 commit
    • Kenneth Moreland's avatar
      Add basic dispatcher functionality. · 53a454fe
      Kenneth Moreland authored
      These changes support the implementation of DispatcherBase. This class
      provides the basic functionality for calling an Invoke method in the
      control environment, transferring data to the execution environment,
      scheduling threads in the execution environment, pulling data for each
      calling of the worklet method, and actually calling the worklet.