mirror of
https://github.com/facebookresearch/pytorch3d.git
synced 2025-08-03 04:12:48 +08:00
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
35 lines
860 B
Python
35 lines
860 B
Python
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
# All rights reserved.
|
|
#
|
|
# This source code is licensed under the BSD-style license found in the
|
|
# LICENSE file in the root directory of this source tree.
|
|
|
|
import itertools
|
|
|
|
from fvcore.common.benchmark import benchmark
|
|
from tests.test_marching_cubes import TestMarchingCubes
|
|
|
|
|
|
def bm_marching_cubes() -> None:
|
|
case_grid = {
|
|
"algo_type": [
|
|
"naive",
|
|
"cextension",
|
|
],
|
|
"batch_size": [1, 5, 20],
|
|
"V": [5, 10, 20],
|
|
}
|
|
test_cases = itertools.product(*case_grid.values())
|
|
kwargs_list = [dict(zip(case_grid.keys(), case)) for case in test_cases]
|
|
|
|
benchmark(
|
|
TestMarchingCubes.marching_cubes_with_init,
|
|
"MARCHING_CUBES",
|
|
kwargs_list,
|
|
warmup_iters=1,
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
bm_marching_cubes()
|