1. 03 Nov, 2020 1 commit
    • Christoph Lassner's avatar
      pulsar integration. · b19fe1de
      Christoph Lassner authored
      Summary:
      This diff integrates the pulsar renderer source code into PyTorch3D as an alternative backend for the PyTorch3D point renderer. This diff is the first of a series of three diffs to complete that migration and focuses on the packaging and integration of the source code.
      
      For more information about the pulsar backend, see the release notes and the paper (https://arxiv.org/abs/2004.07484). For information on how to use the backend, see the point cloud rendering notebook and the examples in the folder `docs/examples`.
      
      Tasks addressed in the following diffs:
      * Add the PyTorch3D interface,
      * Add notebook examples and documentation (or adapt the existing ones to feature both interfaces).
      
      Reviewed By: nikhilaravi
      
      Differential Revision: D23947736
      
      fbshipit-source-id: a5e77b53e6750334db22aefa89b4c079cda1b443
      b19fe1de
  2. 11 Apr, 2020 1 commit
    • Georgia Gkioxari's avatar
      point mesh distances · 487d4d66
      Georgia Gkioxari authored
      Summary:
      Implementation of point to mesh distances. The current diff contains two types:
      (a) Point to Edge
      (b) Point to Face
      
      ```
      
      Benchmark                                       Avg Time(μs)      Peak Time(μs) Iterations
      --------------------------------------------------------------------------------
      POINT_MESH_EDGE_4_100_300_5000_cuda:0                2745            3138            183
      POINT_MESH_EDGE_4_100_300_10000_cuda:0               4408            4499            114
      POINT_MESH_EDGE_4_100_3000_5000_cuda:0               4978            5070            101
      POINT_MESH_EDGE_4_100_3000_10000_cuda:0              9076            9187             56
      POINT_MESH_EDGE_4_1000_300_5000_cuda:0               1411            1487            355
      POINT_MESH_EDGE_4_1000_300_10000_cuda:0              4829            5030            104
      POINT_MESH_EDGE_4_1000_3000_5000_cuda:0              7539            7620             67
      POINT_MESH_EDGE_4_1000_3000_10000_cuda:0            12088           12272             42
      POINT_MESH_EDGE_8_100_300_5000_cuda:0                3106            3222            161
      POINT_MESH_EDGE_8_100_300_10000_cuda:0               8561            8648             59
      POINT_MESH_EDGE_8_100_3000_5000_cuda:0               6932            7021             73
      POINT_MESH_EDGE_8_100_3000_10000_cuda:0             24032           24176             21
      POINT_MESH_EDGE_8_1000_300_5000_cuda:0               5272            5399             95
      POINT_MESH_EDGE_8_1000_300_10000_cuda:0             11348           11430             45
      POINT_MESH_EDGE_8_1000_3000_5000_cuda:0             17478           17683             29
      POINT_MESH_EDGE_8_1000_3000_10000_cuda:0            25961           26236             20
      POINT_MESH_EDGE_16_100_300_5000_cuda:0               8244            8323             61
      POINT_MESH_EDGE_16_100_300_10000_cuda:0             18018           18071             28
      POINT_MESH_EDGE_16_100_3000_5000_cuda:0             19428           19544             26
      POINT_MESH_EDGE_16_100_3000_10000_cuda:0            44967           45135             12
      POINT_MESH_EDGE_16_1000_300_5000_cuda:0              7825            7937             64
      POINT_MESH_EDGE_16_1000_300_10000_cuda:0            18504           18571             28
      POINT_MESH_EDGE_16_1000_3000_5000_cuda:0            65805           66132              8
      POINT_MESH_EDGE_16_1000_3000_10000_cuda:0           90885           91089              6
      --------------------------------------------------------------------------------
      
      Benchmark                                       Avg Time(μs)      Peak Time(μs) Iterations
      --------------------------------------------------------------------------------
      POINT_MESH_FACE_4_100_300_5000_cuda:0                1561            1685            321
      POINT_MESH_FACE_4_100_300_10000_cuda:0               2818            2954            178
      POINT_MESH_FACE_4_100_3000_5000_cuda:0              15893           16018             32
      POINT_MESH_FACE_4_100_3000_10000_cuda:0             16350           16439             31
      POINT_MESH_FACE_4_1000_300_5000_cuda:0               3179            3278            158
      POINT_MESH_FACE_4_1000_300_10000_cuda:0              2353            2436            213
      POINT_MESH_FACE_4_1000_3000_5000_cuda:0             16262           16336             31
      POINT_MESH_FACE_4_1000_3000_10000_cuda:0             9334            9448             54
      POINT_MESH_FACE_8_100_300_5000_cuda:0                4377            4493            115
      POINT_MESH_FACE_8_100_300_10000_cuda:0               9728            9822             52
      POINT_MESH_FACE_8_100_3000_5000_cuda:0              26428           26544             19
      POINT_MESH_FACE_8_100_3000_10000_cuda:0             42238           43031             12
      POINT_MESH_FACE_8_1000_300_5000_cuda:0               3891            3982            129
      POINT_MESH_FACE_8_1000_300_10000_cuda:0              5363            5429             94
      POINT_MESH_FACE_8_1000_3000_5000_cuda:0             20998           21084             24
      POINT_MESH_FACE_8_1000_3000_10000_cuda:0            39711           39897             13
      POINT_MESH_FACE_16_100_300_5000_cuda:0               5955            6001             84
      POINT_MESH_FACE_16_100_300_10000_cuda:0             12082           12144             42
      POINT_MESH_FACE_16_100_3000_5000_cuda:0             44996           45176             12
      POINT_MESH_FACE_16_100_3000_10000_cuda:0            73042           73197              7
      POINT_MESH_FACE_16_1000_300_5000_cuda:0              8292            8374             61
      POINT_MESH_FACE_16_1000_300_10000_cuda:0            19442           19506             26
      POINT_MESH_FACE_16_1000_3000_5000_cuda:0            36059           36194             14
      POINT_MESH_FACE_16_1000_3000_10000_cuda:0           64644           64822              8
      --------------------------------------------------------------------------------
      ```
      
      Reviewed By: jcjohnson
      
      Differential Revision: D20590462
      
      fbshipit-source-id: 42a39837b514a546ac9471bfaff60eefe7fae829
      487d4d66