pytorch
83f18671 - Improve perf for forward AD view handling (#57057)

Commit
3 years ago
Improve perf for forward AD view handling (#57057) Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/57057 This PR performs optimization on the ViewInfo handling to remove the need for the "no forward AD mode". - When the forward and backward ViewInfo are the same, create and store only one of them Code for timing: ```python timer = Timer( stmt='a.view(-1)', setup='''\ import torch a = torch.rand(4)''') res = timer.collect_callgrind(repeats=2, number=10)[1] ``` Difference between master and this PR: ``` # Benchmark at master <torch.utils.benchmark.utils.valgrind_wrapper.timer_interface.CallgrindStats object at 0x7fe33be83690> a.view(-1) setup: import torch a = torch.rand(4) All Noisy symbols removed Instructions: 69286 68442 Baseline: 1332 1188 10 runs per measurement, 1 thread # Benchmark at this branch <torch.utils.benchmark.utils.valgrind_wrapper.timer_interface.CallgrindStats object at 0x7fe33bd7ec30> a.view(-1) setup: import torch a = torch.rand(4) All Noisy symbols removed Instructions: 69437 68562 Baseline: 1363 1188 10 runs per measurement, 1 thread # Difference between the two <torch.utils.benchmark.utils.valgrind_wrapper.timer_interface.FunctionCounts object at 0x7fe1216e9a00> 160 ???:0x000000000a11c8d0 60 torch::autograd::DifferentiableViewMeta::DifferentiableViewMeta 60 ???:torch::autograd::as_view(at::Tensor const&, at::Tensor const&, bool, bool, std::function<at::Tensor (at::Tensor const&)>, torch::autograd::CreationMeta, bool) 40 ???:0x0000000008e14f50 40 ???:0x0000000008e05bd0 40 ???:0x0000000008e05480 40 ???:0x0000000008e036d0 40 ???:0x0000000008e02720 30 make_variable_differentiable_view ... -20 ???:0x0000000008e02060 -20 ???:0x0000000008e01fd0 -30 ???:torch::autograd::isForwardADEnabled() -40 ???:0x0000000008e14f90 -40 ???:0x0000000008e05c00 -40 ???:0x0000000008e054a0 -40 ???:0x0000000008e036f0 -40 ???:0x0000000008e02740 -160 ???:0x000000000a11d8d0 Total: 120 ``` Test Plan: Imported from OSS Reviewed By: zou3519 Differential Revision: D28071505 Pulled By: albanD fbshipit-source-id: 672b1bdf87d516b6de4f2e36656819cfd6f4c9b9
Author
Parents
Loading