1. 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
  2. 31 Jan, 2019 1 commit
  3. 30 Jan, 2019 1 commit
  4. 29 Jan, 2019 5 commits
  5. 28 Jan, 2019 2 commits
  6. 26 Jan, 2019 3 commits
  7. 25 Jan, 2019 2 commits
  8. 24 Jan, 2019 9 commits
  9. 23 Jan, 2019 3 commits
  10. 22 Jan, 2019 1 commit
  11. 18 Jan, 2019 1 commit
  12. 17 Jan, 2019 2 commits
  13. 16 Jan, 2019 3 commits
  14. 14 Jan, 2019 2 commits
  15. 11 Jan, 2019 4 commits