Skip to content
Snippets Groups Projects
  1. Aug 12, 2021
  2. Aug 11, 2021
  3. Aug 09, 2021
  4. Aug 06, 2021
  5. Aug 05, 2021
  6. Aug 04, 2021
  7. Aug 03, 2021
  8. Aug 02, 2021
    • Kenneth Moreland's avatar
      Merge topic 'no-unbounded-recursion' · 758debea
      Kenneth Moreland authored and Kitware Robot's avatar Kitware Robot committed
      
      869535b2 Remove uses of ScopedCudaStackSize
      4bf8bfb1 Deprecate KdTree3D worklets
      5fa402ac Remove recursion from FloatDistance
      fc58f4ed Turn on CUDA warnings for unknown stack sizes
      
      Acked-by: default avatarKitware Robot <kwrobot@kitware.com>
      Acked-by: default avatarDave Pugmire <dpugmire@gmail.com>
      Merge-request: !2535
      758debea
    • Dave Pugmire's avatar
      Fix for corner case in particle advection. · 4b0896bd
      Dave Pugmire authored
      4b0896bd
    • Kenneth Moreland's avatar
      Remove uses of ScopedCudaStackSize · 869535b2
      Kenneth Moreland authored
      Since we have (hopefully) gotten rid of all unbounded recursion and
      calls to function pointers or virtual methods, the CUDA compiler should
      be able to statically determine the size of the stack needed. Thus, we
      shouldn't need `ScopedCudaStackSize` at all.
      
      However, there is one odd case where using it seems to be necessary. It
      is unclear why, but that is an issue for another day.
      869535b2
    • Kenneth Moreland's avatar
      Deprecate KdTree3D worklets · 4bf8bfb1
      Kenneth Moreland authored
      The implementation of the search in the k-d tree is problematic because
      it uses unbounded recursion. This is a problem for GPU devices, which
      have very short stacks set by how many calls the compiler determines.
      This is fixable, but the fix is not trivial.
      
      This class is not used anywhere in VTK-m other than a trivial test.
      Thus, I am just deprecating the class. I am also deleting the test, so
      the code is not run anymore.
      4bf8bfb1
    • Kenneth Moreland's avatar
      Remove recursion from FloatDistance · 5fa402ac
      Kenneth Moreland authored
      The maximum recursion that could happen was 1 call in, but compilers had
      trouble determining that. Split this into 2 non-recursive functions so
      the compiler can easily determine the stack depth.
      5fa402ac
    • Kenneth Moreland's avatar
      Turn on CUDA warnings for unknown stack sizes · fc58f4ed
      Kenneth Moreland authored
      These were previously suppressed because they are unavoidable when
      calling virtual methods. But we no longer support virtual methods on
      devices (it is deprecated).
      
      These warnings can still happen if you have unbounded recursion. But we
      would like to avoid unbounded recursion, so we would like to see these
      warnings.
      
      Also turned on other nvlink warnings, which include when a recursive
      function call means that the compiler cannot figure out the full
      stack depth.
      fc58f4ed
  9. Jul 30, 2021
  10. Jul 29, 2021
  11. Jul 28, 2021
    • Kenneth Moreland's avatar
      Add RuntimeDeviceTracker::CopyState · 62411796
      Kenneth Moreland authored
      It is sometimes the case that you want to copy the state of one
      `RuntimeDeviceTracker` to another. This is particularly the case when
      creating threads in the control environment. Each thread has its own
      copy of `RuntimeDeviceTracker`, so when you spawn a thread you probably
      want to copy the state of the tracker from the calling thread.
      62411796
    • Kenneth Moreland's avatar
      Deprecate ArrayHandle::GetDeviceAdapterId · 34615a98
      Kenneth Moreland authored
      This method is a remenant of when `ArrayHandle` could only store data on
      one device at a time. It is now capable of storing data on any number of
      devices (as well as the host), so asking for "the" device no longer
      makes sense. Thus, this method is deprecated in favor of
      `ArrayHandle::IsOnDevice`.
      
      This deprecation leads to fixing some older functionality that still
      assumed data could only be on one device at a time.
      
      Fixes #592.
      34615a98
  12. Jul 27, 2021
  13. Jul 26, 2021
Loading