1. 11 Apr, 2019 1 commit
    • Allison Vacanti's avatar
      Add support for BitFields. · 56cc5c3d
      Allison Vacanti authored
      BitFields are:
      - Stored in memory using a contiguous buffer of bits.
      - Accessible via portals, a la ArrayHandle.
      - Portals operate on individual bits or words.
      - Operations may be atomic for safe use from concurrent kernels.
      
      The new BitFieldToUnorderedSet device algorithm produces an ArrayHandle
      containing the indices of all set bits, in no particular order.
      
      The new AtomicInterface classes provide an abstraction into bitwise
      atomic operations across control and execution environments and are used
      to implement the BitPortals.
      56cc5c3d
  2. 09 Apr, 2019 1 commit
  3. 04 Apr, 2019 1 commit
  4. 26 Mar, 2019 1 commit
  5. 14 Mar, 2019 1 commit
  6. 13 Mar, 2019 1 commit
  7. 25 Feb, 2019 1 commit
  8. 22 Feb, 2019 1 commit
  9. 21 Feb, 2019 1 commit
  10. 05 Feb, 2019 1 commit
    • Haocheng LIU's avatar
      Introduce asynchronous and device independent timer · 415252c6
      Haocheng LIU authored
      The timer class now is asynchronous and device independent. it's using an
      similiar API as vtkOpenGLRenderTimer with Start(), Stop(), Reset(), Ready(),
      and GetElapsedTime() function. For convenience and backward compability, Each
      Start() function call will call Reset() internally and each GetElapsedTime()
      function call will call Stop() function if it hasn't been called yet for keeping
      backward compatibility purpose.
      
      Bascially it can be used in two modes:
      
      * Create a Timer without any device info. vtkm::cont::Timer time;
      
        * It would enable timers for all enabled devices on the machine. Users can get a
      specific elapsed time by passing a device id into the GetElapsedtime function.
      If no device is provided, it would pick the maximum of all timer results - the
      logic behind this decision is that if cuda is disabled, openmp, serial and tbb
      roughly give the same results; if cuda is enabled it's safe to return the
      maximum elapsed time since users are more interested in the device execution
      time rather than the kernal launch time. The Ready function can be handy here
      to query the status of the timer.
      
      * Create a Timer with a device id. vtkm::cont::Timer time((vtkm::cont::DeviceAdapterTagCuda()));
      
        * It works as the old timer that times for a specific device id.
      415252c6
  11. 23 Jan, 2019 1 commit
    • Kenneth Moreland's avatar
      Make a vtkm_worklet library · 887f79c6
      Kenneth Moreland authored
      This is a library that contains parts of worklets that can be
      precompiled into a library.
      
      Currently, this library contains the implementation of ScatterCounting.
      887f79c6
  12. 11 Jan, 2019 2 commits
  13. 07 Jan, 2019 1 commit
  14. 27 Dec, 2018 3 commits
  15. 20 Dec, 2018 2 commits
  16. 13 Dec, 2018 1 commit
    • Allison Vacanti's avatar
      Add vtkm::cont::Initialize. · cdb1f568
      Allison Vacanti authored
      Also
      - Renamed vtkm::cont::make_DeviceAdapterIdFromName to just overload
        make_DeviceAdapterId.
      - Refactored CMake logic for unit tests
        - Since we're now querying the device tracker for the names, they
          cannot be all caps.
      - Updated usages of InitLogging to use Initialize instead.
      - Added changelog.
      cdb1f568
  17. 31 Oct, 2018 1 commit
  18. 16 Oct, 2018 1 commit
    • 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.
      bddad9b3
  19. 04 Oct, 2018 1 commit
  20. 02 Oct, 2018 1 commit
  21. 10 Sep, 2018 1 commit
  22. 29 Aug, 2018 2 commits
  23. 24 Aug, 2018 2 commits
  24. 05 Jun, 2018 1 commit
  25. 31 May, 2018 1 commit
  26. 29 May, 2018 1 commit
  27. 25 May, 2018 1 commit
  28. 21 May, 2018 2 commits
  29. 16 Jan, 2018 1 commit
  30. 08 Jan, 2018 2 commits