1. 23 Apr, 2019 1 commit
  2. 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.
      ff687016
  3. 17 Apr, 2019 1 commit
  4. 09 Apr, 2019 1 commit
  5. 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.
      191d6e55
  6. 17 Jan, 2019 1 commit
  7. 03 Jul, 2018 1 commit
    • Sujin Philip's avatar
      Minimize cuda synchronizations · 06dee259
      Sujin Philip authored
      1. Have a per-thread pinned array for cuda errors
      2. Check for errors before scheduling new tasks and at explicit sync points
      3. Remove explicit synchronizations from most places
      
      Addresses part 2 of #168
      06dee259
  8. 05 Jun, 2018 1 commit
  9. 25 May, 2018 1 commit
  10. 09 May, 2018 1 commit
  11. 30 Apr, 2018 1 commit
  12. 02 Jan, 2018 1 commit
  13. 27 Oct, 2017 1 commit
  14. 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
  15. 17 Aug, 2017 1 commit
  16. 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
      60a405ef
    • Kitware Robot's avatar
      clang-format: apply to the entire tree · 4ade5f57
      Kitware Robot authored
      4ade5f57
  17. 18 May, 2017 1 commit
  18. 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.
      022c36fa
  19. 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
  20. 31 Aug, 2016 1 commit
  21. 18 Aug, 2016 1 commit
  22. 17 Aug, 2016 1 commit
  23. 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.
      90099d1c
  24. 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
      behavior.
      7b6e6e4a
  25. 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.
      99ce66c6
  26. 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.
      b15940c1
  27. 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.
      e301ba0a
  28. 13 Aug, 2015 1 commit
  29. 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
      macros, VTKM_BOOST_PRE_INCLUDE and VTKM_BOOST_POST_INCLUDE, that should
      be wrapped around any #include of a boost header file.
      21b3b318
  30. 26 May, 2015 1 commit
  31. 21 May, 2015 1 commit
  32. 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.
      9ac538b6
  33. 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.
      53a454fe