[composite compliance] quantile and nanquantile (#81767)
Reference: #69991
This adds a new CompositeExplicit Operator `at::assert_all_true` (also exposed in Python) to check the truthiness of a tensor and throw an error based on that.
This helps us mitigate `TORCH_CHECK(t.all().item<bool>(), "err_msg")` pattern which is not composite compliant.
Using the mentioned operator, we fix `quantile` and `nanquantile` to be Composite Compliant.
Question: Should it be documented?
Pull Request resolved: https://github.com/pytorch/pytorch/pull/81767
Approved by: https://github.com/zou3519
diff --git a/test/test_proxy_tensor.py b/test/test_proxy_tensor.py
index 1f3975a..493d481 100644
--- a/test/test_proxy_tensor.py
+++ b/test/test_proxy_tensor.py
@@ -603,9 +603,7 @@
# data-dependent control flow
xfail('cov'),
xfail('istft'),
- xfail('nanquantile'),
xfail('nn.functional.gaussian_nll_loss'),
- xfail('quantile'),
xfail('tensor_split'),
xfail('corrcoef'),
@@ -824,6 +822,7 @@
xfail('msort', ''), # aten.sort.default - couldn't find symbolic meta function/decomposition
xfail('mv', ''), # aten.mv.default - couldn't find symbolic meta function/decomposition
xfail('nanmean', ''), # The underlying op of 'aten.stride' has no overload name '_schema'
+ xfail('nanquantile', ''), # Could not run 'aten::equal' with arguments from the 'Meta' backend.
xfail('narrow', ''), # aten.size.default - couldn't find symbolic meta function/decomposition
xfail('native_layer_norm', ''), # Unexpected type <class 'torch.SymIntNode'> when computing elementwise type promot...
xfail('nn.functional.adaptive_avg_pool1d', ''), # aten.size.default - couldn't find symbolic meta function/decomposition
@@ -917,6 +916,7 @@
xfail('polygamma', 'polygamma_n_3'), # aten.polygamma.default - couldn't find symbolic meta function/decomposition
xfail('polygamma', 'polygamma_n_4'), # aten.polygamma.default - couldn't find symbolic meta function/decomposition
xfail('put', ''), # aten.clone.default - couldn't find symbolic meta function/decomposition
+ xfail('quantile', ''), # Could not run 'aten::equal' with arguments from the 'Meta' backend.
xfail('qr', ''), # aten.linalg_qr.default - couldn't find symbolic meta function/decomposition
xfail('rad2deg', ''), # aten.rad2deg.default - couldn't find symbolic meta function/decomposition
xfail('rand_like', ''), # aten.randn_like.default - couldn't find symbolic meta function/decomposition