mirror of
https://github.com/facebookresearch/pytorch3d.git
synced 2025-08-02 03:42:50 +08:00
Summary: Adds a CPU implementation for `pytorch3d.ops.nn_points_idx`. Also renames the associated C++ and CUDA functions to use `AllCaps` names used in other C++ / CUDA code. Reviewed By: gkioxari Differential Revision: D19670491 fbshipit-source-id: 1b6409404025bf05e6a93f5d847e35afc9062f05
44 lines
1.0 KiB
Python
44 lines
1.0 KiB
Python
#!/usr/bin/env python3
|
|
# Copyright (c) Facebook, Inc. and its affiliates. All rights reserved.
|
|
|
|
from itertools import product
|
|
import torch
|
|
from fvcore.common.benchmark import benchmark
|
|
|
|
from test_nearest_neighbor_points import TestNearestNeighborPoints
|
|
|
|
|
|
def bm_nn_points() -> None:
|
|
kwargs_list = []
|
|
|
|
N = [1, 4, 32]
|
|
D = [3, 4]
|
|
P1 = [1, 128]
|
|
P2 = [32, 128]
|
|
test_cases = product(N, D, P1, P2)
|
|
for case in test_cases:
|
|
n, d, p1, p2 = case
|
|
kwargs_list.append({"N": n, "D": d, "P1": p1, "P2": p2})
|
|
|
|
benchmark(
|
|
TestNearestNeighborPoints.bm_nn_points_python_with_init,
|
|
"NN_PYTHON",
|
|
kwargs_list,
|
|
warmup_iters=1,
|
|
)
|
|
|
|
benchmark(
|
|
TestNearestNeighborPoints.bm_nn_points_cpu_with_init,
|
|
"NN_CPU",
|
|
kwargs_list,
|
|
warmup_iters=1,
|
|
)
|
|
|
|
if torch.cuda.is_available():
|
|
benchmark(
|
|
TestNearestNeighborPoints.bm_nn_points_cuda_with_init,
|
|
"NN_CUDA",
|
|
kwargs_list,
|
|
warmup_iters=1,
|
|
)
|