1. 16 Nov, 2022 1 commit
    • Jiali Duan's avatar
      Marching Cubes cuda extension · 8b829183
      Jiali Duan authored
      Summary:
      Torch CUDA extension for Marching Cubes
      - MC involving 3 steps:
        - 1st forward pass to collect vertices and occupied state for each voxel
        - Compute compactVoxelArray to skip non-empty voxels
        - 2nd pass to genereate interpolated vertex positions and faces by marching through the grid
      - In contrast to existing MC:
         - Bind each interpolated vertex with a global edge_id to address floating-point precision
         - Added deduplication process to remove redundant vertices and faces
      
      Benchmarks (ms):
      
      | N / V(^3)      | python          | C++             |   CUDA   | Speedup |
      | 2 / 20          |    12176873  |       24338     |     4363   | 2790x/5x|
      | 1 / 100          |     -             |    3070511     |   27126   |    113x    |
      | 2 / 100          |     -             |    5968934     |   53129   |    112x    |
      | 1 / 256          |     -             |  61278092     | 430900   |    142x    |
      | 2 / 256          |     -             |125687930     | 856941   |    146x   |
      
      Reviewed By: kjchalup
      
      Differential Revision: D39644248
      
      fbshipit-source-id: d679c0c79d67b98b235d12296f383d760a00042a
      8b829183
  2. 06 Oct, 2022 1 commit
    • Jiali Duan's avatar
      Marching Cubes C++ torch extension · 0d8608b9
      Jiali Duan authored
      Summary:
      Torch C++ extension for Marching Cubes
      
      - Add torch C++ extension for marching cubes. Observe a speed up of ~255x-324x speed up (over varying batch sizes and spatial resolutions)
      
      - Add C++ impl in existing unit-tests.
      
      (Note: this ignores all push blocking failures!)
      
      Reviewed By: kjchalup
      
      Differential Revision: D39590638
      
      fbshipit-source-id: e44d2852a24c2c398e5ea9db20f0dfaa1817e457
      0d8608b9
  3. 25 May, 2022 1 commit
    • Jeremy Reizenstein's avatar
      move targets · 34f648ed
      Jeremy Reizenstein authored
      Summary: Move testing targets from pytorch3d/tests/TARGETS to pytorch3d/TARGETS.
      
      Reviewed By: shapovalov
      
      Differential Revision: D36186940
      
      fbshipit-source-id: a4c52c4d99351f885e2b0bf870532d530324039b
      34f648ed
  4. 04 Jan, 2022 1 commit
    • Jeremy Reizenstein's avatar
      Update license for company name · 9eeb456e
      Jeremy Reizenstein authored
      Summary: Update all FB license strings to the new format.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D33403538
      
      fbshipit-source-id: 97a4596c5c888f3c54f44456dc07e718a387a02c
      9eeb456e
  5. 07 Dec, 2021 1 commit
    • Jeremy Reizenstein's avatar
      move benchmarks to separate directory · a0e2d2e3
      Jeremy Reizenstein authored
      Summary: Move benchmarks to a separate directory as tests/ is getting big.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D32885462
      
      fbshipit-source-id: a832662a494ee341ab77d95493c95b0af0a83f43
      a0e2d2e3
  6. 22 Jun, 2021 1 commit
    • Patrick Labatut's avatar
      License lint codebase · af93f348
      Patrick Labatut authored
      Summary: License lint codebase
      
      Reviewed By: theschnitz
      
      Differential Revision: D29001799
      
      fbshipit-source-id: 5c59869911785b0181b1663bbf430bc8b7fb2909
      af93f348
  7. 18 Dec, 2020 1 commit
    • Nikhila Ravi's avatar
      Classic Marching Cubes algorithm implementation · ebac66da
      Nikhila Ravi authored
      Summary:
      Defines a function to run marching cubes algorithm on a single or batch of 3D scalar fields. Returns a mesh's faces and vertices.
      
      UPDATES (12/18)
      - Input data is now specified as a (B, D, H, W) tensor as opposed to a (B, W, H, D) tensor. This will now be compatible with the Volumes datastructure.
      - Add an option to return output vertices in local coordinates instead of world coordinates.
      Also added a small fix to remove the dype for device in Transforms3D - if passing in a torch.device instead of str it causes a pyre error.
      
      Reviewed By: jcjohnson
      
      Differential Revision: D24599019
      
      fbshipit-source-id: 90554a200319fed8736a12371cc349e7108aacd0
      ebac66da