1. 25 Feb, 2022 1 commit
    • Jeremy Reizenstein's avatar
      PyTorch 1.7 compatibility · 4d043fc9
      Jeremy Reizenstein authored
      Summary: Small changes discovered based on circleCI failures.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D34426807
      
      fbshipit-source-id: 819860f34b2f367dd24057ca7490284204180a13
      4d043fc9
  2. 21 Feb, 2022 3 commits
    • Georgia Gkioxari's avatar
      small numerical fix to point_mesh · ee71c7c4
      Georgia Gkioxari authored
      Summary: Small fix by adjusting the area `eps` to account for really small faces when computing point to face distances
      
      Reviewed By: bottler
      
      Differential Revision: D34331336
      
      fbshipit-source-id: 51c4888ea46fefa4e31d5b0bb494a9f9d77813cd
      ee71c7c4
    • Georgia Gkioxari's avatar
      lower eps · 3de41223
      Georgia Gkioxari authored
      Summary: Lower the epsilon value in the IoU3D calculation to fix small numerical issue from GH#1082
      
      Reviewed By: bottler
      
      Differential Revision: D34371597
      
      fbshipit-source-id: 12443fa359b7755ef4ae60e9adf83734a1a295ae
      3de41223
    • Jeremy Reizenstein's avatar
      points2vols test fix · feb5d363
      Jeremy Reizenstein authored
      Summary: Fix tests which depended on output tensors being identical to input ones, which now fail in main PyTorch branch because of some change in autograd. The functions still work in-place.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D34375817
      
      fbshipit-source-id: 295ae195f75eab6c7abab412c997470d8de8add1
      feb5d363
  3. 18 Feb, 2022 1 commit
  4. 15 Feb, 2022 1 commit
  5. 14 Feb, 2022 1 commit
    • Jeremy Reizenstein's avatar
      move LinearWithRepeat to pytorch3d · 2a1de3b6
      Jeremy Reizenstein authored
      Summary: Move this simple layer from the NeRF project into pytorch3d.
      
      Reviewed By: shapovalov
      
      Differential Revision: D34126972
      
      fbshipit-source-id: a9c6d6c3c1b662c1b844ea5d1b982007d4df83e6
      2a1de3b6
  6. 10 Feb, 2022 1 commit
  7. 09 Feb, 2022 1 commit
  8. 24 Jan, 2022 3 commits
    • Jeremy Reizenstein's avatar
      use workaround for points_normals · c2862ff4
      Jeremy Reizenstein authored
      Summary:
      Use existing workaround for batched 3x3 symeig because it is faster than torch.symeig.
      
      Added benchmark showing speedup. True = workaround.
      ```
      Benchmark                Avg Time(μs)      Peak Time(μs) Iterations
      --------------------------------------------------------------------------------
      normals_True_3000            16237           17233             31
      normals_True_6000            33028           33391             16
      normals_False_3000        18623069        18623069              1
      normals_False_6000        36535475        36535475              1
      ```
      
      Should help https://github.com/facebookresearch/pytorch3d/issues/988
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D33660585
      
      fbshipit-source-id: d1162b277f5d61ed67e367057a61f25e03888dce
      c2862ff4
    • Jeremy Reizenstein's avatar
      avoid deprecated raysamplers · 67778cae
      Jeremy Reizenstein authored
      Summary: Migrate away from NDCGridRaysampler and GridRaysampler to their more flexible replacements.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D33281584
      
      fbshipit-source-id: 65f8702e700a32d38f7cd6bda3924bb1707a0633
      67778cae
    • Jeremy Reizenstein's avatar
      New raysamplers · 3eb42338
      Jeremy Reizenstein authored
      Summary: New MultinomialRaysampler succeeds GridRaysampler bringing masking and subsampling. Correspondingly, NDCMultinomialRaysampler succeeds NDCGridRaysampler.
      
      Reviewed By: nikhilaravi, shapovalov
      
      Differential Revision: D33256897
      
      fbshipit-source-id: cd80ec6f35b110d1d20a75c62f4e889ba8fa5d45
      3eb42338
  9. 21 Jan, 2022 2 commits
  10. 20 Jan, 2022 1 commit
    • Jeremy Reizenstein's avatar
      ambient lights batching #1043 · 9e2bc3a1
      Jeremy Reizenstein authored
      Summary:
      convert_to_tensors_and_broadcast had a special case for a single input, which is not used anywhere except fails to do the right thing if a TensorProperties has only one kwarg. At the moment AmbientLights may be the only way to hit the problem. Fix by removing the special case.
      
      Fixes https://github.com/facebookresearch/pytorch3d/issues/1043
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D33638345
      
      fbshipit-source-id: 7a6695f44242e650504320f73b6da74254d49ac7
      9e2bc3a1
  11. 07 Jan, 2022 1 commit
    • Jeremy Reizenstein's avatar
      initialize pointcloud from list containing Nones · fc4dd802
      Jeremy Reizenstein authored
      Summary:
      The following snippet should work in more cases.
           point_cloud = Pointclouds(
               [pcl.points_packed() for pcl in point_clouds],
               features=[pcl.features_packed() for pcl in point_clouds],
           )
      
      We therefore allow features and normals inputs to be lists which contain some (but not all) Nones.
      
      The initialization of a Pointclouds from empty data is also made a bit better now at working out how many feature channels there are.
      
      Reviewed By: davnov134
      
      Differential Revision: D31795089
      
      fbshipit-source-id: 54bf941ba80672d699ffd5ac28927740e830f8ab
      fc4dd802
  12. 04 Jan, 2022 2 commits
    • Jeremy Reizenstein's avatar
      More company name & License · 741777b5
      Jeremy Reizenstein authored
      Summary: Manual adjustments for license changes.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D33405657
      
      fbshipit-source-id: 8a21735726f3aece9f9164da9e3b272b27db8032
      741777b5
    • 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
  13. 21 Dec, 2021 4 commits
    • Nikhila Ravi's avatar
      Move Harmonic embedding to core pytorch3d · f9a26a22
      Nikhila Ravi authored
      Summary:
      Moved `HarmonicEmbedding` function in core PyTorch3D.
      In the next diff will update the NeRF project.
      
      Reviewed By: bottler
      
      Differential Revision: D32833808
      
      fbshipit-source-id: 0a12ccd1627c0ce024463c796544c91eb8d4d122
      f9a26a22
    • Nikhila Ravi's avatar
      Enable __getitem__ for Cameras to return an instance of Cameras · 28ccdb73
      Nikhila Ravi authored
      Summary:
      Added a custom `__getitem__` method to `CamerasBase` which returns an instance of the appropriate camera instead of the `TensorAccessor` class.
      
      Long term we should deprecate the `TensorAccessor` and the `__getitem__` method on `TensorProperties`
      
      FB: In the next diff I will update the uses of `select_cameras` in implicitron.
      
      Reviewed By: bottler
      
      Differential Revision: D33185885
      
      fbshipit-source-id: c31995d0eb126981e91ba61a6151d5404b263f67
      28ccdb73
    • Nikhila Ravi's avatar
      Join points as batch · 262c1bfc
      Nikhila Ravi authored
      Summary: Function to join a list of pointclouds as a batch similar to the corresponding function for Meshes.
      
      Reviewed By: bottler
      
      Differential Revision: D33145906
      
      fbshipit-source-id: 160639ebb5065e4fae1a1aa43117172719f3871b
      262c1bfc
    • Jeremy Reizenstein's avatar
      screen space docstrings fix · eb2bbf84
      Jeremy Reizenstein authored
      Summary: Fix some comments to match the recent change to transform_points_screen.
      
      Reviewed By: patricklabatut
      
      Differential Revision: D33243697
      
      fbshipit-source-id: dc8d182667a9413bca2c2e3657f97b2f7a47c795
      eb2bbf84
  14. 18 Dec, 2021 1 commit
    • Georgia Gkioxari's avatar
      small fix for iou3d · ccfb72cc
      Georgia Gkioxari authored
      Summary:
      A small numerical fix for IoU for 3D boxes, fixes GH #992
      
      * Adds a check for boxes with zero side areas (invalid boxes)
      * Fixes numerical issue when two boxes have coplanar sides
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D33195691
      
      fbshipit-source-id: 8a34b4d1f1e5ec2edb6d54143930da44bdde0906
      ccfb72cc
  15. 07 Dec, 2021 3 commits
    • Jeremy Reizenstein's avatar
      new tests demonstrating pixel matching · 70acb3e4
      Jeremy Reizenstein authored
      Summary: Demonstrate current behavior of pixels with new tests of all renderers.
      
      Reviewed By: gkioxari
      
      Differential Revision: D32651141
      
      fbshipit-source-id: 3ca30b4274ed2699bc5e1a9c6437eb3f0b738cbf
      70acb3e4
    • Jeremy Reizenstein's avatar
      screen cameras lose -1 · bf3bc6f8
      Jeremy Reizenstein authored
      Summary:
      All the renderers in PyTorch3D (pointclouds including pulsar, meshes, raysampling) use align_corners=False style. NDC space goes between the edges of the outer pixels. For a non square image with W>H, the vertical NDC space goes from -1 to 1 and the horizontal from -W/H to W/H.
      
      However it was recently pointed out that functionality which deals with screen space inside the camera classes is inconsistent with this. It unintentionally uses align_corners=True. This fixes that.
      
      This would change behaviour of the following:
      - If you create a camera in screen coordinates, i.e. setting in_ndc=False, then anything you do with the camera which touches NDC space may be affected, including trying to use renderers. The transform_points_screen function will not be affected...
      - If you call the function “transform_points_screen” on a camera defined in NDC space results will be different. I have illustrated in the diff how to get the old results from the new results but this probably isn’t the right long-term solution..
      
      Reviewed By: gkioxari
      
      Differential Revision: D32536305
      
      fbshipit-source-id: 377325a9137282971dcb7ca11a6cba3fc700c9ce
      bf3bc6f8
    • 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
  16. 06 Dec, 2021 1 commit
  17. 05 Nov, 2021 1 commit
  18. 26 Oct, 2021 2 commits
  19. 16 Oct, 2021 1 commit
    • Jeremy Reizenstein's avatar
      defaulted grid_sizes in points2vols · 34b1b4ab
      Jeremy Reizenstein authored
      Summary: Fix #873, that grid_sizes defaults to the wrong dtype in points2volumes code, and mask doesn't have a proper default.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D31503545
      
      fbshipit-source-id: fa32a1a6074fc7ac7bdb362edfb5e5839866a472
      34b1b4ab
  20. 11 Oct, 2021 1 commit
    • Jeremy Reizenstein's avatar
      remove PyTorch 1.5 builds · 53d99671
      Jeremy Reizenstein authored
      Summary: PyTorch 1.6.0 came out on 28 Jul 2020. Stop builds for 1.5.0 and 1.5.1. Also update the news section of the README for recent releases.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D31442830
      
      fbshipit-source-id: 20bdd8a07090776d0461240e71c6536d874615f6
      53d99671
  21. 08 Oct, 2021 1 commit
    • Nikhila Ravi's avatar
      IOU box3d epsilon fix · 6dfa3269
      Nikhila Ravi authored
      Summary: The epsilon value is important for determining whether vertices are inside/outside a plane.
      
      Reviewed By: gkioxari
      
      Differential Revision: D31485247
      
      fbshipit-source-id: 5517575de7c02f1afa277d00e0190a81f44f5761
      6dfa3269
  22. 07 Oct, 2021 2 commits
    • Jeremy Reizenstein's avatar
      test tolerance loosenings · b26f4bc3
      Jeremy Reizenstein authored
      Summary: Increase some test tolerances so that they pass in more situations, and re-enable two tests.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D31379717
      
      fbshipit-source-id: 06a25470cc7b6d71cd639d9fd7df500d4b84c079
      b26f4bc3
    • Ruilong Li's avatar
      Fix camera conversion between opencv and pytorch3d · 8fa438cb
      Ruilong Li authored
      Summary:
      For non square image, the NDC space in pytorch3d is not square [-1, 1]. Instead, it is [-1, 1] for the smallest side, and [-u, u] for the largest side, where u > 1. This behavior is followed by the pytorch3d renderer.
      
      See the function `get_ndc_to_screen_transform` for a example.
      
      Without this fix, the rendering result is not correct using the converted pytorch3d-camera from a opencv-camera on non square images.
      
      This fix also helps the `transform_points_screen` function delivers consistent results with opencv projection for the converted pytorch3d-camera.
      
      Reviewed By: classner
      
      Differential Revision: D31366775
      
      fbshipit-source-id: 8858ae7b5cf5c0a4af5a2af40a1358b2fe4cf74b
      8fa438cb
  23. 06 Oct, 2021 1 commit
  24. 02 Oct, 2021 1 commit
    • Jeremy Reizenstein's avatar
      subsample pointclouds · 4281df19
      Jeremy Reizenstein authored
      Summary: New function to randomly subsample Pointclouds to a maximum size.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D30936533
      
      fbshipit-source-id: 789eb5004b6a233034ec1c500f20f2d507a303ff
      4281df19
  25. 01 Oct, 2021 3 commits
    • Jeremy Reizenstein's avatar
      Use C++/CUDA in points2vols · ee2b2feb
      Jeremy Reizenstein authored
      Summary:
      Move the core of add_points_to_volumes to the new C++/CUDA implementation. Add new flag to let the user stop this happening. Avoids copies. About a 30% speedup on the larger cases, up to 50% on the smaller cases.
      
      New timings
      ```
      Benchmark                                                               Avg Time(μs)      Peak Time(μs) Iterations
      --------------------------------------------------------------------------------
      ADD_POINTS_TO_VOLUMES_cpu_10_trilinear_[25, 25, 25]_1000                     4575           12591            110
      ADD_POINTS_TO_VOLUMES_cpu_10_trilinear_[25, 25, 25]_10000                   25468           29186             20
      ADD_POINTS_TO_VOLUMES_cpu_10_trilinear_[25, 25, 25]_100000                 202085          209897              3
      ADD_POINTS_TO_VOLUMES_cpu_10_trilinear_[101, 111, 121]_1000                 46059           48188             11
      ADD_POINTS_TO_VOLUMES_cpu_10_trilinear_[101, 111, 121]_10000                83759           95669              7
      ADD_POINTS_TO_VOLUMES_cpu_10_trilinear_[101, 111, 121]_100000              326056          339393              2
      ADD_POINTS_TO_VOLUMES_cpu_10_nearest_[25, 25, 25]_1000                       2379            4738            211
      ADD_POINTS_TO_VOLUMES_cpu_10_nearest_[25, 25, 25]_10000                     12100           63099             42
      ADD_POINTS_TO_VOLUMES_cpu_10_nearest_[25, 25, 25]_100000                    63323           63737              8
      ADD_POINTS_TO_VOLUMES_cpu_10_nearest_[101, 111, 121]_1000                   45216           45479             12
      ADD_POINTS_TO_VOLUMES_cpu_10_nearest_[101, 111, 121]_10000                  57205           58524              9
      ADD_POINTS_TO_VOLUMES_cpu_10_nearest_[101, 111, 121]_100000                139499          139926              4
      ADD_POINTS_TO_VOLUMES_cpu_100_trilinear_[25, 25, 25]_1000                   40129           40431             13
      ADD_POINTS_TO_VOLUMES_cpu_100_trilinear_[25, 25, 25]_10000                 204949          239293              3
      ADD_POINTS_TO_VOLUMES_cpu_100_trilinear_[25, 25, 25]_100000               1664541         1664541              1
      ADD_POINTS_TO_VOLUMES_cpu_100_trilinear_[101, 111, 121]_1000               391573          395108              2
      ADD_POINTS_TO_VOLUMES_cpu_100_trilinear_[101, 111, 121]_10000              674869          674869              1
      ADD_POINTS_TO_VOLUMES_cpu_100_trilinear_[101, 111, 121]_100000            2713632         2713632              1
      ADD_POINTS_TO_VOLUMES_cpu_100_nearest_[25, 25, 25]_1000                     12726           13506             40
      ADD_POINTS_TO_VOLUMES_cpu_100_nearest_[25, 25, 25]_10000                    73103           73299              7
      ADD_POINTS_TO_VOLUMES_cpu_100_nearest_[25, 25, 25]_100000                  598634          598634              1
      ADD_POINTS_TO_VOLUMES_cpu_100_nearest_[101, 111, 121]_1000                 398742          399256              2
      ADD_POINTS_TO_VOLUMES_cpu_100_nearest_[101, 111, 121]_10000                543129          543129              1
      ADD_POINTS_TO_VOLUMES_cpu_100_nearest_[101, 111, 121]_100000              1242956         1242956              1
      ADD_POINTS_TO_VOLUMES_cuda:0_10_trilinear_[25, 25, 25]_1000                  1814            8884            276
      ADD_POINTS_TO_VOLUMES_cuda:0_10_trilinear_[25, 25, 25]_10000                 1996            8851            251
      ADD_POINTS_TO_VOLUMES_cuda:0_10_trilinear_[25, 25, 25]_100000                4608           11529            109
      ADD_POINTS_TO_VOLUMES_cuda:0_10_trilinear_[101, 111, 121]_1000               5183           12508             97
      ADD_POINTS_TO_VOLUMES_cuda:0_10_trilinear_[101, 111, 121]_10000              7106           14077             71
      ADD_POINTS_TO_VOLUMES_cuda:0_10_trilinear_[101, 111, 121]_100000            25914           31818             20
      ADD_POINTS_TO_VOLUMES_cuda:0_10_nearest_[25, 25, 25]_1000                    1778            8823            282
      ADD_POINTS_TO_VOLUMES_cuda:0_10_nearest_[25, 25, 25]_10000                   1825            8613            274
      ADD_POINTS_TO_VOLUMES_cuda:0_10_nearest_[25, 25, 25]_100000                  3154           10161            159
      ADD_POINTS_TO_VOLUMES_cuda:0_10_nearest_[101, 111, 121]_1000                 4888            9404            103
      ADD_POINTS_TO_VOLUMES_cuda:0_10_nearest_[101, 111, 121]_10000                5194            9963             97
      ADD_POINTS_TO_VOLUMES_cuda:0_10_nearest_[101, 111, 121]_100000               8109           14933             62
      ADD_POINTS_TO_VOLUMES_cuda:0_100_trilinear_[25, 25, 25]_1000                 3320           10306            151
      ADD_POINTS_TO_VOLUMES_cuda:0_100_trilinear_[25, 25, 25]_10000                7003            8595             72
      ADD_POINTS_TO_VOLUMES_cuda:0_100_trilinear_[25, 25, 25]_100000              49140           52957             11
      ADD_POINTS_TO_VOLUMES_cuda:0_100_trilinear_[101, 111, 121]_1000             35890           36918             14
      ADD_POINTS_TO_VOLUMES_cuda:0_100_trilinear_[101, 111, 121]_10000            58890           59337              9
      ADD_POINTS_TO_VOLUMES_cuda:0_100_trilinear_[101, 111, 121]_100000          286878          287600              2
      ADD_POINTS_TO_VOLUMES_cuda:0_100_nearest_[25, 25, 25]_1000                   2484            8805            202
      ADD_POINTS_TO_VOLUMES_cuda:0_100_nearest_[25, 25, 25]_10000                  3967            9090            127
      ADD_POINTS_TO_VOLUMES_cuda:0_100_nearest_[25, 25, 25]_100000                19423           19799             26
      ADD_POINTS_TO_VOLUMES_cuda:0_100_nearest_[101, 111, 121]_1000               33228           33329             16
      ADD_POINTS_TO_VOLUMES_cuda:0_100_nearest_[101, 111, 121]_10000              37292           37370             14
      ADD_POINTS_TO_VOLUMES_cuda:0_100_nearest_[101, 111, 121]_100000             73550           74017              7
      --------------------------------------------------------------------------------
      ```
      Previous timings
      ```
      Benchmark                                                               Avg Time(μs)      Peak Time(μs) Iterations
      --------------------------------------------------------------------------------
      ADD_POINTS_TO_VOLUMES_cpu_10_trilinear_[25, 25, 25]_1000                    10100           46422             50
      ADD_POINTS_TO_VOLUMES_cpu_10_trilinear_[25, 25, 25]_10000                   28442           32100             18
      ADD_POINTS_TO_VOLUMES_cpu_10_trilinear_[25, 25, 25]_100000                 241127          254269              3
      ADD_POINTS_TO_VOLUMES_cpu_10_trilinear_[101, 111, 121]_1000                 54149           79480             10
      ADD_POINTS_TO_VOLUMES_cpu_10_trilinear_[101, 111, 121]_10000               125459          212734              4
      ADD_POINTS_TO_VOLUMES_cpu_10_trilinear_[101, 111, 121]_100000              512739          512739              1
      ADD_POINTS_TO_VOLUMES_cpu_10_nearest_[25, 25, 25]_1000                       2866           13365            175
      ADD_POINTS_TO_VOLUMES_cpu_10_nearest_[25, 25, 25]_10000                      7026           12604             72
      ADD_POINTS_TO_VOLUMES_cpu_10_nearest_[25, 25, 25]_100000                    48822           55607             11
      ADD_POINTS_TO_VOLUMES_cpu_10_nearest_[101, 111, 121]_1000                   38098           38576             14
      ADD_POINTS_TO_VOLUMES_cpu_10_nearest_[101, 111, 121]_10000                  48006           54120             11
      ADD_POINTS_TO_VOLUMES_cpu_10_nearest_[101, 111, 121]_100000                131563          138536              4
      ADD_POINTS_TO_VOLUMES_cpu_100_trilinear_[25, 25, 25]_1000                   64615           91735              8
      ADD_POINTS_TO_VOLUMES_cpu_100_trilinear_[25, 25, 25]_10000                 228815          246095              3
      ADD_POINTS_TO_VOLUMES_cpu_100_trilinear_[25, 25, 25]_100000               3086615         3086615              1
      ADD_POINTS_TO_VOLUMES_cpu_100_trilinear_[101, 111, 121]_1000               464298          465292              2
      ADD_POINTS_TO_VOLUMES_cpu_100_trilinear_[101, 111, 121]_10000             1053440         1053440              1
      ADD_POINTS_TO_VOLUMES_cpu_100_trilinear_[101, 111, 121]_100000            6736236         6736236              1
      ADD_POINTS_TO_VOLUMES_cpu_100_nearest_[25, 25, 25]_1000                     11940           12440             42
      ADD_POINTS_TO_VOLUMES_cpu_100_nearest_[25, 25, 25]_10000                    56641           58051              9
      ADD_POINTS_TO_VOLUMES_cpu_100_nearest_[25, 25, 25]_100000                  711492          711492              1
      ADD_POINTS_TO_VOLUMES_cpu_100_nearest_[101, 111, 121]_1000                 326437          329846              2
      ADD_POINTS_TO_VOLUMES_cpu_100_nearest_[101, 111, 121]_10000                418514          427911              2
      ADD_POINTS_TO_VOLUMES_cpu_100_nearest_[101, 111, 121]_100000              1524285         1524285              1
      ADD_POINTS_TO_VOLUMES_cuda:0_10_trilinear_[25, 25, 25]_1000                  5949           13602             85
      ADD_POINTS_TO_VOLUMES_cuda:0_10_trilinear_[25, 25, 25]_10000                 5817           13001             86
      ADD_POINTS_TO_VOLUMES_cuda:0_10_trilinear_[25, 25, 25]_100000               23833           25971             21
      ADD_POINTS_TO_VOLUMES_cuda:0_10_trilinear_[101, 111, 121]_1000               9029           16178             56
      ADD_POINTS_TO_VOLUMES_cuda:0_10_trilinear_[101, 111, 121]_10000             11595           18601             44
      ADD_POINTS_TO_VOLUMES_cuda:0_10_trilinear_[101, 111, 121]_100000            46986           47344             11
      ADD_POINTS_TO_VOLUMES_cuda:0_10_nearest_[25, 25, 25]_1000                    2554            9747            196
      ADD_POINTS_TO_VOLUMES_cuda:0_10_nearest_[25, 25, 25]_10000                   2676            9537            187
      ADD_POINTS_TO_VOLUMES_cuda:0_10_nearest_[25, 25, 25]_100000                  6567           14179             77
      ADD_POINTS_TO_VOLUMES_cuda:0_10_nearest_[101, 111, 121]_1000                 5840           12811             86
      ADD_POINTS_TO_VOLUMES_cuda:0_10_nearest_[101, 111, 121]_10000                6102           13128             82
      ADD_POINTS_TO_VOLUMES_cuda:0_10_nearest_[101, 111, 121]_100000              11945           11995             42
      ADD_POINTS_TO_VOLUMES_cuda:0_100_trilinear_[25, 25, 25]_1000                 7642           13671             66
      ADD_POINTS_TO_VOLUMES_cuda:0_100_trilinear_[25, 25, 25]_10000               25190           25260             20
      ADD_POINTS_TO_VOLUMES_cuda:0_100_trilinear_[25, 25, 25]_100000             212018          212134              3
      ADD_POINTS_TO_VOLUMES_cuda:0_100_trilinear_[101, 111, 121]_1000             40421           45692             13
      ADD_POINTS_TO_VOLUMES_cuda:0_100_trilinear_[101, 111, 121]_10000            92078           92132              6
      ADD_POINTS_TO_VOLUMES_cuda:0_100_trilinear_[101, 111, 121]_100000          457211          457229              2
      ADD_POINTS_TO_VOLUMES_cuda:0_100_nearest_[25, 25, 25]_1000                   3574           10377            140
      ADD_POINTS_TO_VOLUMES_cuda:0_100_nearest_[25, 25, 25]_10000                  7222           13023             70
      ADD_POINTS_TO_VOLUMES_cuda:0_100_nearest_[25, 25, 25]_100000                48127           48165             11
      ADD_POINTS_TO_VOLUMES_cuda:0_100_nearest_[101, 111, 121]_1000               34732           35295             15
      ADD_POINTS_TO_VOLUMES_cuda:0_100_nearest_[101, 111, 121]_10000              43050           51064             12
      ADD_POINTS_TO_VOLUMES_cuda:0_100_nearest_[101, 111, 121]_100000            106028          106058              5
      --------------------------------------------------------------------------------
      ```
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D29548609
      
      fbshipit-source-id: 7026e832ea299145c3f6b55687f3c1601294f5c0
      ee2b2feb
    • Jeremy Reizenstein's avatar
      Cuda function for points2vols · 9ad98c87
      Jeremy Reizenstein authored
      Summary: Added CUDA implementation to match the new, still unused, C++ function for the core of points2vols.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D29548608
      
      fbshipit-source-id: 16ebb61787fcb4c70461f9215a86ad5f97aecb4e
      9ad98c87
    • Jeremy Reizenstein's avatar
      CPU function for points2vols · 0dfc6e0e
      Jeremy Reizenstein authored
      Summary: Single C++ function for the core of points2vols, not used anywhere yet. Added ability to control align_corners and the weight of each point, which may be useful later.
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D29548607
      
      fbshipit-source-id: a5cda7ec2c14836624e7dfe744c4bbb3f3d3dfe2
      0dfc6e0e