[release/2.14] [XPU][upstream_ut][COW] Fix materialization in remaining TestCompositeComplianceXPU tests
- Dominant language
- Python
- Stars
- 113
- Forks
- 128
- Avg merge
- 5d 9h
- Merged PRs (30d)
- 112
Description
### 🐛 Describe the bug
Split from: #2248
This issue tracks COW-related materialization failures on XPU backend.
## Affected tests (materialization-related)
- TestCompositeComplianceXPU.test_cow_input___rmatmul___xpu_float32
- TestCompositeComplianceXPU.test_cow_input_addbmm_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_addmm_decomposed_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_addmm_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_addmv_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_addr_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_baddbmm_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_bmm_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_cdist_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_cholesky_inverse_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_cholesky_solve_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_cholesky_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_einsum_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_linalg_cholesky_ex_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_linalg_cholesky_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_linalg_householder_product_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_linalg_inv_ex_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_linalg_inv_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_linalg_lstsq_grad_oriented_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_linalg_lstsq_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_linalg_lu_factor_ex_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_linalg_lu_factor_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_linalg_lu_solve_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_linalg_lu_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_linalg_matrix_power_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_linalg_multi_dot_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_linalg_pinv_hermitian_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_linalg_pinv_singular_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_linalg_pinv_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_linalg_qr_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_linalg_svd_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_linalg_tensorinv_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_lu_solve_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_lu_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_matmul_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_mm_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_mv_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_nn_functional_bilinear_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_nn_functional_conv1d_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_nn_functional_conv2d_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_nn_functional_conv3d_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_nn_functional_conv_transpose1d_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_nn_functional_conv_transpose2d_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_nn_functional_conv_transpose3d_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_nn_functional_cross_entropy_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_nn_functional_linear_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_nn_functional_multi_head_attention_forward_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_nn_functional_scaled_dot_product_attention_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_ormqr_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_pca_lowrank_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_pinverse_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_qr_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_svd_lowrank_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_svd_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_tensordot_xpu_float32
- TestCompositeComplianceXPU.test_cow_input_topk_xpu_float32
## Problem
These failures are caused by unintended tensor materialization
triggered by mutable pointer access and incorrect RO/RW semantics.
## Goal
- eliminate unintended materialization
- enforce correct RO vs RW semantics
- pass COW compliance tests without skipping
## Previous attempts
Initial fixes and investigation were done in:
- https://github.com/pytorch/pytorch/pull/174374
- https://github.com/intel/torch-xpu-ops/pull/2857
- https://github.com/intel/torch-xpu-ops/pull/2865
These PRs introduced RO/RW wrapper adjustments and reduced
unintended materialization in several kernels.
However, a complete solution depends on proper constant pointer
support in oneDNN.
### Versions
Resolution of remaining materialization issues depends on oneDNN providing
an interface that supports constant (read-only) pointers.
The SH team has already submitted a JIRA to oneDNN regarding this.
We are currently waiting for oneDNN to introduce a const-pointer–aware
API (or provide an official recommendation), after which we can revisit
and finalize the COW cleanup on XPU.
Contributor guide
Assessment
This issue has not been assessed yet.