[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