pytorch
f1b94461 - [AOTInductor] ProxyExecutor support Dynamic Shape (#110526)

Commit
1 year ago
[AOTInductor] ProxyExecutor support Dynamic Shape (#110526) Summary: Extend ProxyExecutor to support dynamic shape. Example of ProxyExecutor invocation with symints. ``` int64_t* arg0_1_size; AOTI_TORCH_ERROR_CODE_CHECK(aoti_torch_get_sizes(arg0_1, &arg0_1_size)); auto s0 = arg0_1_size[0]; auto s1 = arg0_1_size[1]; int64_t* arg1_1_size; AOTI_TORCH_ERROR_CODE_CHECK(aoti_torch_get_sizes(arg1_1, &arg1_1_size)); auto s2 = arg1_1_size[0]; auto s3 = arg1_1_size[1]; ... aoti_torch_proxy_executor_call_function(proxy_executor, 0, 15, std::vector<int64_t>{42, 16, 17, s0 + s1, s0 + s1, s2*s3, 45, 67, 16, 17, s2*s3, s2*s3, s0 + s1, 89, 910}.data(), 7, std::vector<AtenTensorHandle>{arg0_1, arg0_1, arg1_1, buf2, arg0_1, arg1_1, buf4}.data()); ``` Example of serialized SymInt(s) arguments: ``` { "name": "symint", "arg": { "asSymInt": { "asName": "s0 + s1" } } }, { "name": "symints", "arg": { "asSymInts": [ { "asName": "s0 + s1" }, { "asName": "s2*s3" } ] } }, ... { "name": "o_symint", "arg": { "asSymInt": { "asName": "s2*s3" } } }, { "name": "o_symints", "arg": { "asSymInts": [ { "asName": "s2*s3" }, { "asName": "s0 + s1" } ] } }, ``` Test Plan: buck2 run mode/dev-nosan deeplearning/aot_inductor/test:test_custom_ops Differential Revision: D49887555 Pull Request resolved: https://github.com/pytorch/pytorch/pull/110526 Approved by: https://github.com/chenyang78
Author
Committer
Parents
Loading