"torchvision/models/vscode:/vscode.git/clone" did not exist on "333af7aa5f7aea73544e7334c502808f42e7808b"
  1. 23 Jan, 2025 1 commit
    • Kishore Venkateshan's avatar
      3/N Batchify Interpolate Kernel · bdb1bfdb
      Kishore Venkateshan authored
      Summary:
      # Problem
      In CT / State Encoding, we expect a scenario where we would like to render a batch of topologies where each of them would have different number of vertices and triangles. Currently the only way to support this with DRTK is to iterate over the batch in a for loop for each topology and render it.
      In a series of diffs we would like to solve this issue by making drtk consume a batch of triangles as opposed to just 1 set of triangles. However, we would like to achieve this behavior without affecting the most common single topology case by a lot.
      
      # How do we pass in multiple topologies in a single batch?
      We will provide a TopologyBatch structure in xrcia/lib/graphics/structures where we will provide functionality to create a Batch x MaxTriangles x 3 and Batch x MaxVertices x 3.
      Padded vertices will be 0s and padded triangles will have MaxVertices - 1 as their value. But these will discarded as degenerate in rasterization / rendering.
      
      # In this diff
      - Extend `interpolate` kernel and `interpolate_backward` kernel to support a batch dimension as default.
      - `interpolate` will now unsqueeze the batch dimension when using a single topo
      - We access the vertex indices of triangles by walking an additional `batch stride * n` in the triangles data pointer.
      - Add an extra condition to check to see if the triangles are degenerate; this happens when padding the batch.
      - We show that the we don't cause too much overhead in GPU by introducing these 3 extra operations (Same profiling as in D68529076)
      
      Reviewed By: podgorskiy
      
      Differential Revision: D68400728
      
      fbshipit-source-id: d13dbde5cc379789132953c05f6f9289748d67c7
      bdb1bfdb
  2. 26 Sep, 2024 1 commit
    • Stanislav Pidhorskyi's avatar
      Licence change to MIT · 36eb2e83
      Stanislav Pidhorskyi authored
      Summary: Got legal approval 🥳
      
      Reviewed By: una-dinosauria
      
      Differential Revision: D63428775
      
      fbshipit-source-id: 7568ef2861ef10c2bd0367a7195cbbedf96ec8be
      36eb2e83
  3. 07 Aug, 2024 1 commit
    • Stanislav Pidhorskyi's avatar
      Fixed uninitialized entries in the gradient of `bary_img` for unused pixels · 3c37fcb2
      Stanislav Pidhorskyi authored
      Summary:
      For unused warps we always write zeros to `bary_img_grad`.
      However it is possible that the warp is used, but only portion of the threads are used. In this case, for unused threads we do not write zeros to `bary_img_grad`.
      
      For efficiency, `bary_img_grad` is created with `at::empty`, thus  those before mentioned entries, will still have uninitialized values.
      
      This is not an issue, because the `render` function will never read those entries, however it is possible that the uninitialized values will coincide with `nan` and it will trigger a false positive detection in auto grad anomaly detection.  Please see more details in D60904848 about the issue.
      
      Differential Revision: D60912474
      
      fbshipit-source-id: 6eda5a07789db456c17eb60de222dd4c7b1c53d2
      3c37fcb2
  4. 08 Jun, 2024 1 commit