1. 01 Mar, 2019 4 commits
  2. 28 Feb, 2019 4 commits
    • Kenneth Moreland's avatar
      Specify return type for GetTimerImpl · 6797c6e3
      Kenneth Moreland authored
      The internal function GetTimerImpl has a rather complex expression for
      its return type. Prevously this was derived using declspec, but one of
      the versions of Visual Studio barfed on that for some reason. So now
      declare the return type explicitly.
      6797c6e3
    • Kenneth Moreland's avatar
      Increase the conditions on which Timer is tested · 25f3432b
      Kenneth Moreland authored
      UnitTestTimer was changed to be initialized across all possible devices
      and getting times across all possible devices. Also test all possible
      ways to set the device in the Timer.
      25f3432b
    • Kenneth Moreland's avatar
      Synchronize CUDA timer when stopping it · 4d9ce248
      Kenneth Moreland authored
      Previously, when Stop was called on a Cuda timer, it would record a stop
      event but it would not synchronize it at that time. Instead, the
      synchronize was only called when GetElapsedTime was called. The problem
      is that the time of the event is only marked when synchronize is called.
      Thus, if the event completed before GetElapsedTime was called, it would
      record the time from when the event acutally happened to the time when
      GetElapsedTime was called as part of the elapsed time, which is
      incorrect.
      
      Fix the problem by synchronizing when Stop is called. Although this
      makes the Timer more invasive, generally using the Timer can cause
      synchronization to happen. This behavior is consistent with the Timer
      implementation for other devices.
      4d9ce248
    • Kenneth Moreland's avatar
      Add const correctness to Timer · 85265a9c
      Kenneth Moreland authored
      It should be possible to query a vtkm::cont::Timer without modifying it.
      As such, its query functions (such as Stopped and GetElapsedTime) should
      be const.
      85265a9c
  3. 27 Feb, 2019 4 commits
    • Kenneth Moreland's avatar
      Allow resetting Timer with a new device · 46550899
      Kenneth Moreland authored
      Previously, in order to specify a device with the timer, it had to be
      specified in the timer's construction or had to be specified every time
      GetElapsedTime was called. The first method was inconvienient in the
      case where there are multiple code paths to define the device and the
      latter method was inconvienient because you would have to pass around a
      device id.
      
      Both these techniques still exist, but we have also added a new form of
      Reset that allows you to change the device the timer is used on.
      46550899
    • Kenneth Moreland's avatar
      Enable initializing Timer with a DeviceAdapterId · dd4a9395
      Kenneth Moreland authored
      Previously, a vtkm::cont::Timer had to be initialized with either no
      device or with a device adapter tag. However, this precluded
      initializing the timer with a DeviceAdapterId, which made it difficult
      to create a timer at runtime. Instead, just accept a DeviceAdapterId
      (which all device adapter tags inherit from) and do runtime checks.
      dd4a9395
    • Kenneth Moreland's avatar
      Merge topic 'threads-lib-in-external' · 702e2276
      Kenneth Moreland authored
      e9591621 Find threads library in external build
      Acked-by: Kitware Robot's avatarKitware Robot <kwrobot@kitware.com>
      Acked-by: Robert Maynard's avatarRobert Maynard <robert.maynard@kitware.com>
      Merge-request: !1561
      702e2276
    • Kenneth Moreland's avatar
      Find threads library in external build · e9591621
      Kenneth Moreland authored
      In certain circumstances (currently, when logging is enabled), VTK-m
      libraries depend on the threading library. However, when the VTK-m
      package was included from an external project, it did not automatically
      find the threads package. This change makes the Threads library loaded
      when the VTK-m package is found.
      e9591621
  4. 25 Feb, 2019 6 commits
  5. 24 Feb, 2019 1 commit
  6. 23 Feb, 2019 1 commit
  7. 22 Feb, 2019 4 commits
  8. 21 Feb, 2019 3 commits
  9. 20 Feb, 2019 4 commits
    • Kenneth Moreland's avatar
      Add more operator= to ArrayPortalValueReference · b141f751
      Kenneth Moreland authored
      Forward arguments to assignment operator in ArrayPoetalValueReference
      better.
      b141f751
    • Kenneth Moreland's avatar
    • Kenneth Moreland's avatar
      Fix error about constexpr not available on CUDA device · ddc6c91e
      Kenneth Moreland authored
      For some reason, these changes caused one of the CUDA compilers to
      create an error about a variable declared constexpr not being available
      on the device. That sounds like a bug in nvcc as the constexpr should
      just be evaluated rather than stored in some part of memory. At any
      rate, changing the constexpr to a preprocessing macro solves the
      problem.
      ddc6c91e
    • Kenneth Moreland's avatar
      Add specialized operators for ArrayPortalValueReference · 1ca55ac3
      Kenneth Moreland authored
      The ArrayPortalValueReference is supposed to behave just like the value
      it encapsulates and does so by automatically converting to the base type
      when necessary. However, when it is possible to convert that to
      something else, it is possible to get errors about ambiguous overloads.
      To avoid these, add specialized versions of the operators to specify
      which ones should be used.
      
      Also consolidated the CUDA version of an ArrayPortalValueReference to the
      standard one. The two implementations were equivalent and we would like
      changes to apply to both.
      1ca55ac3
  10. 19 Feb, 2019 2 commits
  11. 14 Feb, 2019 4 commits
  12. 13 Feb, 2019 2 commits
  13. 12 Feb, 2019 1 commit