diff --git a/src/ATen/native/xpu/Blas.cpp b/src/ATen/native/xpu/Blas.cpp new file mode 100644 index 000000000..31527722d --- /dev/null +++ b/src/ATen/native/xpu/Blas.cpp @@ -0,0 +1,306 @@ +#include +#include +#include +#include +#include + +namespace at::native { + +#if defined(USE_ONEMKL_XPU) + +at::Tensor& handle_output_copy(at::Tensor& out, const at::Tensor& result) { + if (!out.is_same(result)) { + if (out.sizes() == result.sizes()) { + out.copy_(result); + } else { + out.copy_(result.view(out.sizes())); + } + } + + return out; +} + +template +at::Tensor& mm_complex_out_xpu_impl( + const at::Tensor& self, + const at::Tensor& mat2, + at::Tensor& out) { + at::Tensor self_cont = self.contiguous().resolve_conj(); + at::Tensor mat2_cont = mat2.contiguous().resolve_conj(); + at::Tensor out_cont = out.contiguous().resolve_conj(); + + const int64_t m = self_cont.sizes().at(0); + const int64_t n = mat2_cont.sizes().at(1); + const int64_t k = self_cont.sizes().at(1); + + constexpr std::complex alpha = {T(1), T(0)}; + constexpr std::complex beta = {T(0), T(0)}; + + oneapi::mkl::blas::row_major::gemm( + c10::xpu::getCurrentXPUStream().queue(), + oneapi::mkl::transpose::nontrans, + oneapi::mkl::transpose::nontrans, + m, + n, + k, + alpha, + reinterpret_cast*>(self_cont.const_data_ptr()), + k, + reinterpret_cast*>(mat2_cont.const_data_ptr()), + n, + beta, + reinterpret_cast*>(out_cont.data_ptr()), + n); + + return handle_output_copy(out, out_cont); +} + +at::Tensor& mm_complex_out_xpu( + const at::Tensor& self, + const at::Tensor& mat2, + at::Tensor& out) { + TORCH_CHECK( + self.is_complex(), "_mm_mkl.out expects self to be a complex datatype."); + + AT_DISPATCH_COMPLEX_TYPES(self.scalar_type(), "mm_complex_out_xpu", [&] { + using underlying_t = typename c10::scalar_value_type::type; + mm_complex_out_xpu_impl(self, mat2, out); + }); + + return out; +} + +template +at::Tensor& bmm_complex_out_xpu_impl( + const at::Tensor& self, + const at::Tensor& mat2, + at::Tensor& out) { + at::Tensor self_cont = self.contiguous().resolve_conj(); + at::Tensor mat2_cont = mat2.contiguous().resolve_conj(); + at::Tensor out_cont = out.contiguous().resolve_conj(); + + const int64_t batch_size = self_cont.sizes().at(0); + const int64_t m = self_cont.sizes().at(1); + const int64_t n = mat2_cont.sizes().at(2); + const int64_t k = self_cont.sizes().at(2); + + constexpr std::complex alpha = {T(1), T(0)}; + constexpr std::complex beta = {T(0), T(0)}; + + oneapi::mkl::blas::row_major::gemm_batch( + c10::xpu::getCurrentXPUStream().queue(), + oneapi::mkl::transpose::nontrans, + oneapi::mkl::transpose::nontrans, + m, + n, + k, + alpha, + reinterpret_cast*>(self_cont.const_data_ptr()), + k, + m * k, + reinterpret_cast*>(mat2_cont.const_data_ptr()), + n, + k * n, + beta, + reinterpret_cast*>(out_cont.data_ptr()), + n, + m * n, + batch_size); + + return handle_output_copy(out, out_cont); +} + +at::Tensor& bmm_complex_out_xpu( + const at::Tensor& self, + const at::Tensor& mat2, + at::Tensor& out) { + TORCH_CHECK( + self.is_complex(), "_bmm_mkl.out expects self to be a complex datatype."); + + AT_DISPATCH_COMPLEX_TYPES(self.scalar_type(), "bmm_complex_out_xpu", [&] { + using underlying_t = typename c10::scalar_value_type::type; + bmm_complex_out_xpu_impl(self, mat2, out); + }); + + return out; +} + +template +at::Tensor& addmm_complex_out_xpu_impl( + const Tensor& self, + const Tensor& mat1, + const Tensor& mat2, + const Scalar& beta, + const Scalar& alpha, + Tensor& out) { + at::Tensor mat1_cont = mat1.contiguous().resolve_conj(); + at::Tensor mat2_cont = mat2.contiguous().resolve_conj(); + at::Tensor self_cont = self.contiguous().resolve_conj().clone().detach(); + + const int64_t m = mat1_cont.sizes().at(0); + const int64_t n = mat2_cont.sizes().at(1); + const int64_t k = mat1_cont.sizes().at(1); + + if (k == 0) { + if (out.numel() == 0) { + return out; + } + if (beta.toComplexDouble() == 0.0) { + out.zero_(); + } else { + if (!self.is_same(out)) { + out.copy_(self); + } + out.mul_(beta); + } + return out; + } + + if (m == 0 || n == 0) { + return out; + } + + const std::vector mm_output_size = {m, n}; + if (self_cont.sizes() != mm_output_size) { + self_cont = at::broadcast_to(self_cont, mm_output_size).contiguous(); + } + + std::complex complex_alpha = + static_cast>(alpha.toComplexDouble()); + std::complex complex_beta = + static_cast>(beta.toComplexDouble()); + + oneapi::mkl::blas::row_major::gemm( + c10::xpu::getCurrentXPUStream().queue(), + oneapi::mkl::transpose::nontrans, + oneapi::mkl::transpose::nontrans, + m, + n, + k, + complex_alpha, + reinterpret_cast*>(mat1_cont.const_data_ptr()), + k, + reinterpret_cast*>(mat2_cont.const_data_ptr()), + n, + complex_beta, + reinterpret_cast*>(self_cont.data_ptr()), + n); + + return handle_output_copy(out, self_cont); +} + +at::Tensor& addmm_complex_out_xpu( + const Tensor& self, + const Tensor& mat1, + const Tensor& mat2, + const Scalar& beta, + const Scalar& alpha, + Tensor& out) { + TORCH_CHECK( + self.is_complex(), + "_addmm_mkl.out expects self to be a complex datatype."); + + AT_DISPATCH_COMPLEX_TYPES(self.scalar_type(), "addmm_complex_out_xpu", [&] { + using underlying_t = typename c10::scalar_value_type::type; + addmm_complex_out_xpu_impl( + self, mat1, mat2, beta, alpha, out); + }); + + return out; +} + +template +at::Tensor& baddbmm_complex_out_xpu_impl( + const Tensor& self, + const Tensor& batch1, + const Tensor& batch2, + const Scalar& beta, + const Scalar& alpha, + Tensor& out) { + at::Tensor batch1_cont = batch1.contiguous().resolve_conj(); + at::Tensor batch2_cont = batch2.contiguous().resolve_conj(); + at::Tensor self_cont = self.contiguous().resolve_conj().clone().detach(); + + const int64_t batch_size = batch1_cont.sizes().at(0); + const int64_t m = batch1_cont.sizes().at(1); + const int64_t n = batch2_cont.sizes().at(2); + const int64_t k = batch1_cont.sizes().at(2); + + const std::vector mm_output_size = {batch_size, m, n}; + if (self_cont.sizes() != mm_output_size) { + self_cont = at::broadcast_to(self_cont, mm_output_size).contiguous(); + } + + std::complex complex_alpha = + static_cast>(alpha.toComplexDouble()); + std::complex complex_beta = + static_cast>(beta.toComplexDouble()); + + oneapi::mkl::blas::row_major::gemm_batch( + c10::xpu::getCurrentXPUStream().queue(), + oneapi::mkl::transpose::nontrans, + oneapi::mkl::transpose::nontrans, + m, + n, + k, + complex_alpha, + reinterpret_cast*>(batch1_cont.const_data_ptr()), + k, + m * k, + reinterpret_cast*>(batch2_cont.const_data_ptr()), + n, + k * n, + complex_beta, + reinterpret_cast*>(self_cont.data_ptr()), + n, + m * n, + batch_size); + + return handle_output_copy(out, self_cont); +} + +at::Tensor& baddbmm_complex_out_xpu( + const Tensor& self, + const Tensor& batch1, + const Tensor& batch2, + const Scalar& beta, + const Scalar& alpha, + Tensor& out) { + TORCH_CHECK( + self.is_complex(), + "_baddbmm_mkl.out expects self to be a complex datatype."); + + AT_DISPATCH_COMPLEX_TYPES(self.scalar_type(), "baddbmm_complex_out_xpu", [&] { + using underlying_t = typename c10::scalar_value_type::type; + baddbmm_complex_out_xpu_impl( + self, batch1, batch2, beta, alpha, out); + }); + + return out; +} + +#endif // USE_ONEMKL_XPU + +TORCH_LIBRARY_FRAGMENT(aten, m) { + m.def( + "aten::_mm_mkl.out(Tensor self, Tensor mat2, *, Tensor(a!) out) -> Tensor(a!)"); + m.def( + "aten::_bmm_mkl.out(Tensor self, Tensor mat2, *, Tensor(a!) out) -> Tensor(a!)"); + m.def( + "aten::_addmm_mkl.out(Tensor self, Tensor mat1, Tensor mat2, *, Scalar beta=1, Scalar alpha=1, Tensor(a!) out) -> Tensor(a!)"); + m.def( + "aten::_baddbmm_mkl.out(Tensor self, Tensor batch1, Tensor batch2, *, Scalar beta=1, Scalar alpha=1, Tensor(a!) out) -> Tensor(a!)"); +} + +#if defined(USE_ONEMKL_XPU) + +TORCH_LIBRARY_IMPL(aten, XPU, m) { + m.impl("aten::_mm_mkl.out", mm_complex_out_xpu); + m.impl("aten::_bmm_mkl.out", bmm_complex_out_xpu); + m.impl("aten::_addmm_mkl.out", addmm_complex_out_xpu); + m.impl("aten::_baddbmm_mkl.out", baddbmm_complex_out_xpu); +} + +#endif // USE_ONEMKL_XPU + +} // namespace at::native diff --git a/test/xpu/skip_list_common.py b/test/xpu/skip_list_common.py index b7fab539d..fb40f77a3 100644 --- a/test/xpu/skip_list_common.py +++ b/test/xpu/skip_list_common.py @@ -49,7 +49,7 @@ # OneDNN issues, https://github.com/intel/torch-xpu-ops/issues/253 # RuntimeError: Long is not supported in oneDNN! # RuntimeError: could not create a primitive descriptor for a deconvolution forward propagation primitive - # RuntimeError: Double and complex datatype matmul is not supported in oneDNN + # RuntimeError: Double datatype matmul is not supported in oneDNN "test_noncontiguous_samples_nn_functional_conv3d_xpu_int64", "test_noncontiguous_samples_nn_functional_conv_transpose1d_xpu_int64", "test_noncontiguous_samples_nn_functional_conv_transpose2d_xpu_complex64", @@ -124,196 +124,35 @@ "test_dtypes_addmm_decomposed_xpu", "test_dtypes_addmm_xpu", "test_dtypes_addmv_xpu", - "test_dtypes_addr_xpu", "test_dtypes_baddbmm_xpu", - "test_dtypes_cholesky_inverse_xpu", - "test_dtypes_cholesky_solve_xpu", - "test_dtypes_cholesky_xpu", - "test_dtypes_corrcoef_xpu", - "test_dtypes_cov_xpu", - "test_dtypes_linalg_cholesky_ex_xpu", - "test_dtypes_linalg_cholesky_xpu", - "test_dtypes_linalg_cond_xpu", - "test_dtypes_linalg_det_xpu", - "test_dtypes_linalg_eig_xpu", - "test_dtypes_linalg_eigh_xpu", - "test_dtypes_linalg_eigvals_xpu", - "test_dtypes_linalg_eigvalsh_xpu", - "test_dtypes_linalg_inv_ex_xpu", - "test_dtypes_linalg_inv_xpu", - "test_dtypes_linalg_ldl_factor_ex_xpu", - "test_dtypes_linalg_ldl_factor_xpu", - "test_dtypes_linalg_ldl_solve_xpu", - "test_dtypes_linalg_lstsq_grad_oriented_xpu", - "test_dtypes_linalg_lstsq_xpu", - "test_dtypes_linalg_lu_factor_ex_xpu", - "test_dtypes_linalg_lu_factor_xpu", - "test_dtypes_linalg_lu_solve_xpu", - "test_dtypes_linalg_lu_xpu", - "test_dtypes_linalg_matrix_power_xpu", - "test_dtypes_linalg_matrix_rank_hermitian_xpu", - "test_dtypes_linalg_matrix_rank_xpu", - "test_dtypes_linalg_pinv_hermitian_xpu", - "test_dtypes_linalg_pinv_xpu", - "test_dtypes_linalg_qr_xpu", - "test_dtypes_linalg_slogdet_xpu", - "test_dtypes_linalg_solve_ex_xpu", - "test_dtypes_linalg_solve_xpu", - "test_dtypes_linalg_svd_xpu", - "test_dtypes_linalg_tensorinv_xpu", - "test_dtypes_linalg_tensorsolve_xpu", - "test_dtypes_logdet_xpu", - "test_dtypes_lu_solve_xpu", - "test_dtypes_lu_xpu", + "test_dtypes_mv_xpu", - "test_dtypes_nn_functional_scaled_dot_product_attention_xpu", - "test_dtypes_norm_nuc_xpu", - "test_dtypes_pinverse_xpu", - "test_dtypes_qr_xpu", - "test_dtypes_svd_xpu", - "test_dtypes_tensordot_xpu", - "test_dtypes_triangular_solve_xpu", - "test_noncontiguous_samples___rmatmul___xpu_complex64", + "test_noncontiguous_samples___rmatmul___xpu_int64", - "test_noncontiguous_samples_addbmm_xpu_complex64", "test_noncontiguous_samples_addbmm_xpu_float32", "test_noncontiguous_samples_addbmm_xpu_int64", - "test_noncontiguous_samples_addmm_decomposed_xpu_complex64", "test_noncontiguous_samples_addmm_decomposed_xpu_int64", - "test_noncontiguous_samples_addmm_xpu_complex64", "test_noncontiguous_samples_addmm_xpu_float32", "test_noncontiguous_samples_addmm_xpu_int64", - "test_noncontiguous_samples_addmv_xpu_complex64", "test_noncontiguous_samples_addmv_xpu_float32", "test_noncontiguous_samples_addmv_xpu_int64", - "test_noncontiguous_samples_addr_xpu_complex64", - "test_noncontiguous_samples_baddbmm_xpu_complex64", - "test_noncontiguous_samples_baddbmm_xpu_int64", - "test_noncontiguous_samples_bmm_xpu_complex64", "test_noncontiguous_samples_bmm_xpu_int64", - "test_noncontiguous_samples_cholesky_inverse_xpu_complex64", - "test_noncontiguous_samples_cholesky_solve_xpu_complex64", - "test_noncontiguous_samples_cholesky_xpu_complex64", - "test_noncontiguous_samples_corrcoef_xpu_complex64", - "test_noncontiguous_samples_cov_xpu_complex64", - "test_noncontiguous_samples_einsum_xpu_complex64", "test_noncontiguous_samples_einsum_xpu_int64", - "test_noncontiguous_samples_geqrf_xpu_complex64", - "test_noncontiguous_samples_inner_xpu_complex64", "test_noncontiguous_samples_inner_xpu_int64", - "test_noncontiguous_samples_linalg_cholesky_ex_xpu_complex64", - "test_noncontiguous_samples_linalg_cholesky_xpu_complex64", - "test_noncontiguous_samples_linalg_cond_xpu_complex64", - "test_noncontiguous_samples_linalg_det_xpu_complex64", - "test_noncontiguous_samples_linalg_eig_xpu_complex64", "test_noncontiguous_samples_linalg_eig_xpu_float32", - "test_noncontiguous_samples_linalg_eigh_xpu_complex64", - "test_noncontiguous_samples_linalg_eigvals_xpu_complex64", - "test_noncontiguous_samples_linalg_eigvalsh_xpu_complex64", - "test_noncontiguous_samples_linalg_householder_product_xpu_complex64", - "test_noncontiguous_samples_linalg_inv_ex_xpu_complex64", - "test_noncontiguous_samples_linalg_inv_xpu_complex64", - "test_noncontiguous_samples_linalg_ldl_factor_ex_xpu_complex64", - "test_noncontiguous_samples_linalg_ldl_factor_xpu_complex64", - "test_noncontiguous_samples_linalg_ldl_solve_xpu_complex64", - "test_noncontiguous_samples_linalg_lstsq_grad_oriented_xpu_complex64", - "test_noncontiguous_samples_linalg_lstsq_xpu_complex64", - "test_noncontiguous_samples_linalg_lu_factor_ex_xpu_complex64", - "test_noncontiguous_samples_linalg_lu_factor_xpu_complex64", - "test_noncontiguous_samples_linalg_lu_solve_xpu_complex64", - "test_noncontiguous_samples_linalg_lu_xpu_complex64", - "test_noncontiguous_samples_linalg_matrix_norm_xpu_complex64", - "test_noncontiguous_samples_linalg_matrix_power_xpu_complex64", - "test_noncontiguous_samples_linalg_matrix_rank_hermitian_xpu_complex64", - "test_noncontiguous_samples_linalg_matrix_rank_xpu_complex64", - "test_noncontiguous_samples_linalg_norm_subgradients_at_zero_xpu_complex64", - "test_noncontiguous_samples_linalg_norm_xpu_complex64", - "test_noncontiguous_samples_linalg_pinv_hermitian_xpu_complex64", - "test_noncontiguous_samples_linalg_pinv_singular_xpu_complex64", - "test_noncontiguous_samples_linalg_pinv_xpu_complex64", - "test_noncontiguous_samples_linalg_qr_xpu_complex64", - "test_noncontiguous_samples_linalg_slogdet_xpu_complex64", - "test_noncontiguous_samples_linalg_solve_ex_xpu_complex64", - "test_noncontiguous_samples_linalg_solve_triangular_xpu_complex64", - "test_noncontiguous_samples_linalg_solve_xpu_complex64", - "test_noncontiguous_samples_linalg_svd_xpu_complex64", - "test_noncontiguous_samples_linalg_svdvals_xpu_complex64", - "test_noncontiguous_samples_linalg_tensorinv_xpu_complex64", - "test_noncontiguous_samples_linalg_tensorsolve_xpu_complex64", - "test_noncontiguous_samples_logdet_xpu_complex64", - "test_noncontiguous_samples_lu_solve_xpu_complex64", - "test_noncontiguous_samples_lu_xpu_complex64", - "test_noncontiguous_samples_matmul_xpu_complex64", "test_noncontiguous_samples_matmul_xpu_int64", - "test_noncontiguous_samples_mm_xpu_complex64", "test_noncontiguous_samples_mm_xpu_int64", - "test_noncontiguous_samples_mv_xpu_complex64", "test_noncontiguous_samples_mv_xpu_int64", "test_noncontiguous_samples_nn_functional_bilinear_xpu_int64", - "test_noncontiguous_samples_nn_functional_linear_xpu_complex64", - "test_noncontiguous_samples_norm_nuc_xpu_complex64", - "test_noncontiguous_samples_ormqr_xpu_complex64", - "test_noncontiguous_samples_pinverse_xpu_complex64", - "test_noncontiguous_samples_qr_xpu_complex64", - "test_noncontiguous_samples_svd_xpu_complex64", - "test_noncontiguous_samples_tensordot_xpu_complex64", "test_noncontiguous_samples_tensordot_xpu_int64", - "test_noncontiguous_samples_triangular_solve_xpu_complex64", - "test_numpy_ref_addbmm_xpu_complex128", "test_numpy_ref_addbmm_xpu_float64", "test_numpy_ref_addbmm_xpu_int64", - "test_numpy_ref_linalg_tensorinv_xpu_complex128", "test_out_addbmm_xpu_float32", "test_out_addmm_xpu_float32", "test_out_addmv_xpu_float32", "test_out_baddbmm_xpu_float32", "test_out_mm_xpu_float32", "test_out_mv_xpu_float32", - "test_out_requires_grad_error_addbmm_xpu_complex64", - "test_out_requires_grad_error_addmm_decomposed_xpu_complex64", - "test_out_requires_grad_error_addmm_xpu_complex64", - "test_out_requires_grad_error_addmv_xpu_complex64", - "test_out_requires_grad_error_baddbmm_xpu_complex64", - "test_out_requires_grad_error_bmm_xpu_complex64", - "test_out_requires_grad_error_cholesky_inverse_xpu_complex64", - "test_out_requires_grad_error_cholesky_solve_xpu_complex64", - "test_out_requires_grad_error_cholesky_xpu_complex64", - "test_out_requires_grad_error_inner_xpu_complex64", - "test_out_requires_grad_error_linalg_cholesky_ex_xpu_complex64", - "test_out_requires_grad_error_linalg_cholesky_xpu_complex64", - "test_out_requires_grad_error_linalg_eig_xpu_complex64", - "test_out_requires_grad_error_linalg_eigh_xpu_complex64", - "test_out_requires_grad_error_linalg_eigvals_xpu_complex64", - "test_out_requires_grad_error_linalg_eigvalsh_xpu_complex64", - "test_out_requires_grad_error_linalg_inv_ex_xpu_complex64", - "test_out_requires_grad_error_linalg_inv_xpu_complex64", - "test_out_requires_grad_error_linalg_lstsq_xpu_complex64", - "test_out_requires_grad_error_linalg_lu_factor_xpu_complex64", - "test_out_requires_grad_error_linalg_lu_solve_xpu_complex64", - "test_out_requires_grad_error_linalg_multi_dot_xpu_complex64", - "test_out_requires_grad_error_linalg_pinv_hermitian_xpu_complex64", - "test_out_requires_grad_error_linalg_pinv_xpu_complex64", - "test_out_requires_grad_error_linalg_qr_xpu_complex64", - "test_out_requires_grad_error_linalg_solve_ex_xpu_complex64", - "test_out_requires_grad_error_linalg_solve_xpu_complex64", - "test_out_requires_grad_error_linalg_tensorinv_xpu_complex64", - "test_out_requires_grad_error_lu_solve_xpu_complex64", - "test_out_requires_grad_error_lu_xpu_complex64", - "test_out_requires_grad_error_mm_xpu_complex64", - "test_out_requires_grad_error_mv_xpu_complex64", - "test_out_requires_grad_error_nn_functional_linear_xpu_complex64", - "test_out_requires_grad_error_qr_xpu_complex64", - "test_out_requires_grad_error_tensordot_xpu_complex64", - "test_out_requires_grad_error_triangular_solve_xpu_complex64", - "test_out_warning_addmm_decomposed_xpu", - "test_out_warning_addmm_xpu", - "test_out_warning_addmv_xpu", - "test_out_warning_baddbmm_xpu", - "test_out_warning_bmm_xpu", - "test_out_warning_matmul_xpu", - "test_out_warning_mm_xpu", - "test_out_warning_mv_xpu", - "test_out_warning_nn_functional_linear_xpu", "test_python_ref__refs_linalg_svd_xpu_complex128", "test_python_ref__refs_linalg_svd_xpu_complex64", "test_python_ref__refs_linalg_svd_xpu_float64", @@ -329,202 +168,11 @@ "test_python_ref_torch_fallback__refs_linalg_svd_xpu_complex64", "test_python_ref_torch_fallback__refs_linalg_svd_xpu_float64", "test_python_ref_torch_fallback__refs_nn_functional_pdist_xpu_float64", - "test_variant_consistency_eager___rmatmul___xpu_complex64", - "test_variant_consistency_eager_addmm_decomposed_xpu_complex64", - "test_variant_consistency_eager_addmm_xpu_complex64", "test_variant_consistency_eager_addmm_xpu_float32", - "test_variant_consistency_eager_addmv_xpu_complex64", "test_variant_consistency_eager_addmv_xpu_float32", - "test_variant_consistency_eager_baddbmm_xpu_complex64", "test_variant_consistency_eager_baddbmm_xpu_float32", - "test_variant_consistency_eager_bmm_xpu_complex64", - "test_variant_consistency_eager_cholesky_inverse_xpu_complex64", - "test_variant_consistency_eager_cholesky_solve_xpu_complex64", - "test_variant_consistency_eager_cholesky_xpu_complex64", - "test_variant_consistency_eager_corrcoef_xpu_complex64", - "test_variant_consistency_eager_cov_xpu_complex64", - "test_variant_consistency_eager_einsum_xpu_complex64", - "test_variant_consistency_eager_geqrf_xpu_complex64", - "test_variant_consistency_eager_inner_xpu_complex64", - "test_variant_consistency_eager_linalg_cholesky_ex_xpu_complex64", - "test_variant_consistency_eager_linalg_cholesky_xpu_complex64", - "test_variant_consistency_eager_linalg_cond_xpu_complex64", - "test_variant_consistency_eager_linalg_det_xpu_complex64", - "test_variant_consistency_eager_linalg_eig_xpu_complex64", - "test_variant_consistency_eager_linalg_eigh_xpu_complex64", - "test_variant_consistency_eager_linalg_eigvals_xpu_complex64", - "test_variant_consistency_eager_linalg_eigvalsh_xpu_complex64", - "test_variant_consistency_eager_linalg_householder_product_xpu_complex64", - "test_variant_consistency_eager_linalg_inv_ex_xpu_complex64", - "test_variant_consistency_eager_linalg_inv_xpu_complex64", - "test_variant_consistency_eager_linalg_ldl_factor_ex_xpu_complex64", - "test_variant_consistency_eager_linalg_ldl_factor_xpu_complex64", - "test_variant_consistency_eager_linalg_ldl_solve_xpu_complex64", - "test_variant_consistency_eager_linalg_lstsq_grad_oriented_xpu_complex64", - "test_variant_consistency_eager_linalg_lstsq_xpu_complex64", - "test_variant_consistency_eager_linalg_lu_factor_xpu_complex64", - "test_variant_consistency_eager_linalg_lu_solve_xpu_complex64", - "test_variant_consistency_eager_linalg_matrix_norm_xpu_complex64", - "test_variant_consistency_eager_linalg_matrix_power_xpu_complex64", - "test_variant_consistency_eager_linalg_matrix_rank_hermitian_xpu_complex64", - "test_variant_consistency_eager_linalg_matrix_rank_xpu_complex64", - "test_variant_consistency_eager_linalg_multi_dot_xpu_complex64", - "test_variant_consistency_eager_linalg_norm_subgradients_at_zero_xpu_complex64", - "test_variant_consistency_eager_linalg_norm_xpu_complex64", - "test_variant_consistency_eager_linalg_pinv_hermitian_xpu_complex64", - "test_variant_consistency_eager_linalg_pinv_singular_xpu_complex64", - "test_variant_consistency_eager_linalg_pinv_xpu_complex64", - "test_variant_consistency_eager_linalg_qr_xpu_complex64", - "test_variant_consistency_eager_linalg_slogdet_xpu_complex64", - "test_variant_consistency_eager_linalg_solve_ex_xpu_complex64", - "test_variant_consistency_eager_linalg_solve_triangular_xpu_complex64", - "test_variant_consistency_eager_linalg_solve_xpu_complex64", - "test_variant_consistency_eager_linalg_svd_xpu_complex64", - "test_variant_consistency_eager_linalg_svdvals_xpu_complex64", - "test_variant_consistency_eager_linalg_tensorinv_xpu_complex64", - "test_variant_consistency_eager_linalg_tensorsolve_xpu_complex64", - "test_variant_consistency_eager_logdet_xpu_complex64", - "test_variant_consistency_eager_lu_solve_xpu_complex64", - "test_variant_consistency_eager_lu_xpu_complex64", - "test_variant_consistency_eager_matmul_xpu_complex64", - "test_variant_consistency_eager_mm_xpu_complex64", - "test_variant_consistency_eager_mv_xpu_complex64", - "test_variant_consistency_eager_nn_functional_linear_xpu_complex64", - "test_variant_consistency_eager_norm_nuc_xpu_complex64", - "test_variant_consistency_eager_ormqr_xpu_complex64", - "test_variant_consistency_eager_pinverse_xpu_complex64", - "test_variant_consistency_eager_qr_xpu_complex64", - "test_variant_consistency_eager_svd_xpu_complex64", - "test_variant_consistency_eager_tensordot_xpu_complex64", - "test_variant_consistency_eager_triangular_solve_xpu_complex64", - # oneDNN issues - # RuntimeError: value cannot be converted to type float without overflow - # https://github.com/intel/torch-xpu-ops/issues/683 - "test_conj_view_addbmm_xpu_complex64", - "test_neg_conj_view_addbmm_xpu_complex128", - ### Error #0 in TestMathBitsXPU , RuntimeError: Double and complex datatype matmul is not supported in oneDNN + ### Error #0 in TestMathBitsXPU , RuntimeError: Double datatype matmul is not supported in oneDNN # https://github.com/intel/torch-xpu-ops/issues/254 - "test_conj_view___rmatmul___xpu_complex64", - "test_conj_view__refs_linalg_svd_xpu_complex64", - "test_conj_view_addmm_decomposed_xpu_complex64", - "test_conj_view_addmm_xpu_complex64", - "test_conj_view_addmv_xpu_complex64", - "test_conj_view_addr_xpu_complex64", - "test_conj_view_baddbmm_xpu_complex64", - "test_conj_view_bmm_xpu_complex64", - "test_conj_view_cholesky_inverse_xpu_complex64", - "test_conj_view_cholesky_solve_xpu_complex64", - "test_conj_view_cholesky_xpu_complex64", - "test_conj_view_corrcoef_xpu_complex64", - "test_conj_view_cov_xpu_complex64", - "test_conj_view_einsum_xpu_complex64", - "test_conj_view_geqrf_xpu_complex64", - "test_conj_view_inner_xpu_complex64", - "test_conj_view_linalg_cholesky_ex_xpu_complex64", - "test_conj_view_linalg_cholesky_xpu_complex64", - "test_conj_view_linalg_cond_xpu_complex64", - "test_conj_view_linalg_det_xpu_complex64", - "test_conj_view_linalg_eig_xpu_complex64", - "test_conj_view_linalg_eigh_xpu_complex64", - "test_conj_view_linalg_eigvals_xpu_complex64", - "test_conj_view_linalg_eigvalsh_xpu_complex64", - "test_conj_view_linalg_householder_product_xpu_complex64", - "test_conj_view_linalg_inv_ex_xpu_complex64", - "test_conj_view_linalg_inv_xpu_complex64", - "test_conj_view_linalg_ldl_factor_ex_xpu_complex64", - "test_conj_view_linalg_ldl_factor_xpu_complex64", - "test_conj_view_linalg_ldl_solve_xpu_complex64", - "test_conj_view_linalg_lstsq_grad_oriented_xpu_complex64", - "test_conj_view_linalg_lstsq_xpu_complex64", - "test_conj_view_linalg_lu_factor_xpu_complex64", - "test_conj_view_linalg_lu_solve_xpu_complex64", - "test_conj_view_linalg_matrix_norm_xpu_complex64", - "test_conj_view_linalg_matrix_power_xpu_complex64", - "test_conj_view_linalg_matrix_rank_hermitian_xpu_complex64", - "test_conj_view_linalg_matrix_rank_xpu_complex64", - "test_conj_view_linalg_multi_dot_xpu_complex64", - "test_conj_view_linalg_norm_subgradients_at_zero_xpu_complex64", - "test_conj_view_linalg_norm_xpu_complex64", - "test_conj_view_linalg_pinv_hermitian_xpu_complex64", - "test_conj_view_linalg_pinv_singular_xpu_complex64", - "test_conj_view_linalg_pinv_xpu_complex64", - "test_conj_view_linalg_qr_xpu_complex64", - "test_conj_view_linalg_slogdet_xpu_complex64", - "test_conj_view_linalg_solve_ex_xpu_complex64", - "test_conj_view_linalg_solve_triangular_xpu_complex64", - "test_conj_view_linalg_solve_xpu_complex64", - "test_conj_view_linalg_svd_xpu_complex64", - "test_conj_view_linalg_svdvals_xpu_complex64", - "test_conj_view_linalg_tensorinv_xpu_complex64", - "test_conj_view_linalg_tensorsolve_xpu_complex64", - "test_conj_view_logdet_xpu_complex64", - "test_conj_view_lu_solve_xpu_complex64", - "test_conj_view_lu_xpu_complex64", - "test_conj_view_matmul_xpu_complex64", - "test_conj_view_mm_xpu_complex64", - "test_conj_view_mv_xpu_complex64", - "test_conj_view_nn_functional_linear_xpu_complex64", - "test_conj_view_norm_nuc_xpu_complex64", - "test_conj_view_ormqr_xpu_complex64", - "test_conj_view_pinverse_xpu_complex64", - "test_conj_view_qr_xpu_complex64", - "test_conj_view_svd_xpu_complex64", - "test_conj_view_tensordot_xpu_complex64", - "test_conj_view_triangular_solve_xpu_complex64", - "test_neg_conj_view_addmm_decomposed_xpu_complex128", - "test_neg_conj_view_addmm_xpu_complex128", - "test_neg_conj_view_addmv_xpu_complex128", - "test_neg_conj_view_addr_xpu_complex128", - "test_neg_conj_view_baddbmm_xpu_complex128", - "test_neg_conj_view_bmm_xpu_complex128", - "test_neg_conj_view_cholesky_inverse_xpu_complex128", - "test_neg_conj_view_cholesky_solve_xpu_complex128", - "test_neg_conj_view_cholesky_xpu_complex128", - "test_neg_conj_view_corrcoef_xpu_complex128", - "test_neg_conj_view_cov_xpu_complex128", - "test_neg_conj_view_geqrf_xpu_complex128", - "test_neg_conj_view_inner_xpu_complex128", - "test_neg_conj_view_linalg_cholesky_ex_xpu_complex128", - "test_neg_conj_view_linalg_cholesky_xpu_complex128", - "test_neg_conj_view_linalg_cond_xpu_complex128", - "test_neg_conj_view_linalg_eig_xpu_complex128", - "test_neg_conj_view_linalg_eigh_xpu_complex128", - "test_neg_conj_view_linalg_eigvals_xpu_complex128", - "test_neg_conj_view_linalg_eigvalsh_xpu_complex128", - "test_neg_conj_view_linalg_householder_product_xpu_complex128", - "test_neg_conj_view_linalg_inv_ex_xpu_complex128", - "test_neg_conj_view_linalg_inv_xpu_complex128", - "test_neg_conj_view_linalg_ldl_factor_ex_xpu_complex128", - "test_neg_conj_view_linalg_ldl_factor_xpu_complex128", - "test_neg_conj_view_linalg_ldl_solve_xpu_complex128", - "test_neg_conj_view_linalg_lstsq_grad_oriented_xpu_complex128", - "test_neg_conj_view_linalg_lstsq_xpu_complex128", - "test_neg_conj_view_linalg_lu_factor_xpu_complex128", - "test_neg_conj_view_linalg_lu_solve_xpu_complex128", - "test_neg_conj_view_linalg_matrix_rank_hermitian_xpu_complex128", - "test_neg_conj_view_linalg_matrix_rank_xpu_complex128", - "test_neg_conj_view_linalg_multi_dot_xpu_complex128", - "test_neg_conj_view_linalg_pinv_hermitian_xpu_complex128", - "test_neg_conj_view_linalg_pinv_singular_xpu_complex128", - "test_neg_conj_view_linalg_pinv_xpu_complex128", - "test_neg_conj_view_linalg_qr_xpu_complex128", - "test_neg_conj_view_linalg_solve_ex_xpu_complex128", - "test_neg_conj_view_linalg_solve_triangular_xpu_complex128", - "test_neg_conj_view_linalg_solve_xpu_complex128", - "test_neg_conj_view_linalg_svdvals_xpu_complex128", - "test_neg_conj_view_linalg_tensorinv_xpu_complex128", - "test_neg_conj_view_linalg_tensorsolve_xpu_complex128", - "test_neg_conj_view_lu_solve_xpu_complex128", - "test_neg_conj_view_lu_xpu_complex128", - "test_neg_conj_view_mm_xpu_complex128", - "test_neg_conj_view_mv_xpu_complex128", - "test_neg_conj_view_nn_functional_linear_xpu_complex128", - "test_neg_conj_view_norm_nuc_xpu_complex128", - "test_neg_conj_view_ormqr_xpu_complex128", - "test_neg_conj_view_pinverse_xpu_complex128", - "test_neg_conj_view_qr_xpu_complex128", - "test_neg_conj_view_tensordot_xpu_complex128", - "test_neg_conj_view_triangular_solve_xpu_complex128", "test_neg_view___rmatmul___xpu_float64", "test_neg_view__refs_linalg_svd_xpu_float64", "test_neg_view__refs_nn_functional_pdist_xpu_float64", @@ -721,48 +369,24 @@ # Could not run 'aten::_to_copy' with arguments from the 'NestedTensorXPU' backend "test_with_nested_tensor_input_xpu", # oneDNN issues - # Double and complex datatype matmul is not supported in oneDNN + # Double datatype matmul is not supported in oneDNN # https://github.com/intel/torch-xpu-ops/issues/253 - "test_sdp_math_gradcheck_contiguous_inputs_False_xpu", - "test_sdp_math_gradcheck_contiguous_inputs_True_xpu", - "test_transformerencoder_batch_first_True_training_True_enable_nested_tensor_True_xpu", - "test_transformerencoder_batch_first_True_training_True_enable_nested_tensor_False_xpu", - "test_transformerencoder_batch_first_True_training_False_enable_nested_tensor_True_xpu", - "test_transformerencoder_batch_first_True_training_False_enable_nested_tensor_False_xpu", - "test_transformerencoder_batch_first_False_training_True_enable_nested_tensor_True_xpu", - "test_transformerencoder_batch_first_False_training_True_enable_nested_tensor_False_xpu", - "test_transformerencoder_batch_first_False_training_False_enable_nested_tensor_True_xpu", - "test_transformerencoder_batch_first_False_training_False_enable_nested_tensor_False_xpu", "test_scaled_dot_product_attention_4D_input_dim_no_attn_mask_dropout_p_0_5_xpu", "test_scaled_dot_product_attention_4D_input_dim_no_attn_mask_dropout_p_0_2_xpu", - "test_scaled_dot_product_attention_4D_input_dim_no_attn_mask_dropout_p_0_0_xpu", "test_scaled_dot_product_attention_4D_input_dim_4D_causal_attn_mask_dropout_p_0_5_xpu", "test_scaled_dot_product_attention_4D_input_dim_4D_causal_attn_mask_dropout_p_0_2_xpu", - "test_scaled_dot_product_attention_4D_input_dim_4D_causal_attn_mask_dropout_p_0_0_xpu", - "test_scaled_dot_product_attention_4D_input_dim_4D_attn_mask_dropout_p_0_5_xpu", - "test_scaled_dot_product_attention_4D_input_dim_4D_attn_mask_dropout_p_0_2_xpu", - "test_scaled_dot_product_attention_4D_input_dim_4D_attn_mask_dropout_p_0_0_xpu", "test_scaled_dot_product_attention_4D_input_dim_2D_causal_attn_mask_dropout_p_0_5_xpu", "test_scaled_dot_product_attention_4D_input_dim_2D_causal_attn_mask_dropout_p_0_2_xpu", - "test_scaled_dot_product_attention_4D_input_dim_2D_causal_attn_mask_dropout_p_0_0_xpu", "test_scaled_dot_product_attention_4D_input_dim_2D_attn_mask_dropout_p_0_5_xpu", "test_scaled_dot_product_attention_4D_input_dim_2D_attn_mask_dropout_p_0_2_xpu", - "test_scaled_dot_product_attention_4D_input_dim_2D_attn_mask_dropout_p_0_0_xpu", "test_scaled_dot_product_attention_3D_input_dim_no_attn_mask_dropout_p_0_5_xpu", "test_scaled_dot_product_attention_3D_input_dim_no_attn_mask_dropout_p_0_2_xpu", - "test_scaled_dot_product_attention_3D_input_dim_no_attn_mask_dropout_p_0_0_xpu", "test_scaled_dot_product_attention_3D_input_dim_3D_causal_attn_mask_dropout_p_0_5_xpu", "test_scaled_dot_product_attention_3D_input_dim_3D_causal_attn_mask_dropout_p_0_2_xpu", - "test_scaled_dot_product_attention_3D_input_dim_3D_causal_attn_mask_dropout_p_0_0_xpu", - "test_scaled_dot_product_attention_3D_input_dim_3D_attn_mask_dropout_p_0_5_xpu", - "test_scaled_dot_product_attention_3D_input_dim_3D_attn_mask_dropout_p_0_2_xpu", - "test_scaled_dot_product_attention_3D_input_dim_3D_attn_mask_dropout_p_0_0_xpu", "test_scaled_dot_product_attention_3D_input_dim_2D_causal_attn_mask_dropout_p_0_5_xpu", "test_scaled_dot_product_attention_3D_input_dim_2D_causal_attn_mask_dropout_p_0_2_xpu", - "test_scaled_dot_product_attention_3D_input_dim_2D_causal_attn_mask_dropout_p_0_0_xpu", "test_scaled_dot_product_attention_3D_input_dim_2D_attn_mask_dropout_p_0_5_xpu", "test_scaled_dot_product_attention_3D_input_dim_2D_attn_mask_dropout_p_0_2_xpu", - "test_scaled_dot_product_attention_3D_input_dim_2D_attn_mask_dropout_p_0_0_xpu", # https://github.com/intel/torch-xpu-ops/issues/1432 "test_multiheadattention_fastpath_attn_mask_attn_mask_dim_2_key_padding_mask_dim_2_bool_xpu", "test_multiheadattention_fastpath_attn_mask_attn_mask_dim_3_key_padding_mask_dim_2_bool_xpu", @@ -774,7 +398,7 @@ "test_complex_xpu.py": None, "test_modules_xpu.py": ( # oneDNN issues - # RuntimeError: Double and complex datatype matmul is not supported in oneDNN + # RuntimeError: Double datatype matmul is not supported in oneDNN "test_cpu_gpu_parity_nn_Bilinear_xpu_float64", "test_cpu_gpu_parity_nn_GRUCell_xpu_float64", "test_cpu_gpu_parity_nn_GRU_eval_mode_xpu_float64", @@ -985,21 +609,11 @@ "test_transformerencoderlayer_xpu_float16", "test_transformerencoderlayer_xpu_float32", # oneDNN issues - # RuntimeError: Double and complex datatype matmul is not supported in oneDNN - "test_TransformerDecoderLayer_empty_xpu", - "test_TransformerDecoder_empty_xpu", - "test_TransformerEncoder_empty_xpu", - "test_Transformer_empty_xpu", - "test_affine_grid", - "test_affine_grid_3d", - "test_RNN_cpu_vs_cudnn_no_dropout", - "test_RNN_cpu_vs_cudnn_with_dropout", + # RuntimeError: Double datatype matmul is not supported in oneDNN "test_GRU_grad_and_gradgrad_xpu_float64", "test_LSTM_grad_and_gradgrad_xpu_float64", "test_lstmcell_backward_only_one_output_grad_xpu_float64", "test_module_to_empty_xpu_float64", - "test_RNN_change_dropout", - "test_RNN_dropout", "test_rnn_fused_xpu_float64", "test_rnn_retain_variables_xpu_float64", "test_transformerencoderlayer_xpu_float64", @@ -1070,7 +684,7 @@ "test_autograd_multiple_dispatch_registrations_xpu", # AttributeError: module 'torch.xpu' has no attribute "test_profiler_emit_nvtx_xpu", - # Double and complex datatype matmul is not supported in oneDNN + # Jacobian mismatch for output 0 with respect to input 0 "test_mv_grad_stride_0_xpu", # module 'torch._C' has no attribute '_scatter' "test_checkpointing_without_reentrant_dataparallel", @@ -1219,119 +833,59 @@ # All linear algebra related ops are not supported for XPU. # _convert_weight_to_int4pack not support "_int4_mm_m_", - # RuntimeError: Double and complex datatype matmul is not supported in oneDNN + # AssertionError: "the 'out' tensor was specified and requires gradients" "test_tensordot_out_kernel_errors_with_autograd_xpu_complex64", + # NotImplementedError: The operator 'aten::cholesky_inverse.out' is not currently implemented for the XPU device. + "test_cholesky_inverse_xpu_complex128", + "test_cholesky_inverse_xpu_complex64", + # NotImplementedError: The operator 'aten::linalg_solve_triangular.out' is not currently implemented for the XPU device. + "test_linalg_solve_triangular_large_xpu_complex128", + "test_linalg_solve_triangular_large_xpu_complex64", + "test_linalg_solve_triangular_xpu_complex128", + "test_linalg_solve_triangular_xpu_complex64", + # NotImplementedError: Could not run 'aten::addmm' with arguments from the 'SparseXPU' backend. + "test_svd_lowrank_xpu_complex128", + # RuntimeError: Double datatype matmul is not supported in oneDNN "test_tensordot_out_kernel_errors_with_autograd_xpu_float32", "test_1_sized_with_0_strided_xpu_float64", - "test_addbmm_xpu_complex128", - "test_addbmm_xpu_complex64", "test_addbmm_xpu_float64", "test_addmm_gelu_xpu_float64", "test_addmm_relu_xpu_float64", "test_addmm_sizes_xpu_float64", - "test_addmm_xpu_complex128", - "test_addmm_xpu_complex64", "test_addmm_xpu_float64", "test_addmv_rowmajor_colmajor_incx_incy_lda_xpu_float64", - "test_addmv_xpu_complex128", - "test_addmv_xpu_complex64", "test_addmv_xpu_float64", - "test_baddbmm_xpu_complex128", - "test_baddbmm_xpu_complex64", "test_baddbmm_xpu_float64", - "test_bmm_xpu_complex128", - "test_bmm_xpu_complex64", "test_bmm_xpu_float64", "test_blas_alpha_beta_empty_xpu_float64", - "test_cholesky_errors_and_warnings_xpu_complex128", - "test_cholesky_errors_and_warnings_xpu_complex64", "test_cholesky_errors_and_warnings_xpu_float64", - "test_cholesky_ex_xpu_complex128", - "test_cholesky_ex_xpu_complex64", "test_cholesky_ex_xpu_float64", - "test_cholesky_inverse_xpu_complex128", - "test_cholesky_inverse_xpu_complex64", "test_cholesky_inverse_xpu_float64", "test_cholesky_solve_backward_xpu_float64", - "test_cholesky_solve_batched_many_batches_xpu_complex128", - "test_cholesky_solve_batched_many_batches_xpu_complex64", "test_cholesky_solve_batched_many_batches_xpu_float64", - "test_cholesky_solve_batched_xpu_complex128", - "test_cholesky_solve_batched_xpu_complex64", "test_cholesky_solve_batched_xpu_float64", - "test_cholesky_solve_xpu_complex128", - "test_cholesky_solve_xpu_complex64", "test_cholesky_solve_xpu_float64", - "test_cholesky_xpu_complex128", - "test_cholesky_xpu_complex64", "test_cholesky_xpu_float64", - "test_corner_cases_of_cublasltmatmul_xpu_complex128", - "test_corner_cases_of_cublasltmatmul_xpu_complex64", "test_corner_cases_of_cublasltmatmul_xpu_float64", "test_eig_check_magma_xpu_float32", - "test_einsum_random_xpu_complex128", "test_einsum_random_xpu_float64", - "test_einsum_sublist_format_xpu_complex128", "test_einsum_sublist_format_xpu_float64", - "test_einsum_xpu_complex128", "test_einsum_xpu_float64", - "test_inner_xpu_complex64", - "test_invariance_error_spectral_decompositions_xpu_complex128", - "test_inverse_many_batches_xpu_complex128", - "test_inverse_many_batches_xpu_complex64", "test_inverse_many_batches_xpu_float64", - "test_inverse_xpu_complex128", - "test_inverse_xpu_complex64", "test_inverse_xpu_float64", - "test_ldl_factor_xpu_complex128", - "test_ldl_factor_xpu_complex64", "test_ldl_factor_xpu_float64", - "test_ldl_solve_xpu_complex128", - "test_ldl_solve_xpu_complex64", "test_ldl_solve_xpu_float64", - "test_linalg_lstsq_batch_broadcasting_xpu_complex128", - "test_linalg_lstsq_batch_broadcasting_xpu_complex64", "test_linalg_lstsq_batch_broadcasting_xpu_float64", - "test_linalg_lstsq_xpu_complex128", - "test_linalg_lstsq_xpu_complex64", "test_linalg_lstsq_xpu_float64", - "test_linalg_lu_family_xpu_complex128", - "test_linalg_lu_family_xpu_complex64", "test_linalg_lu_family_xpu_float64", - "test_linalg_lu_solve_xpu_complex128", - "test_linalg_lu_solve_xpu_complex64", - "test_linalg_solve_triangular_broadcasting_xpu_complex128", - "test_linalg_solve_triangular_broadcasting_xpu_complex64", "test_linalg_solve_triangular_broadcasting_xpu_float64", - "test_linalg_solve_triangular_large_xpu_complex128", - "test_linalg_solve_triangular_large_xpu_complex64", "test_linalg_solve_triangular_large_xpu_float64", - "test_linalg_solve_triangular_xpu_complex128", - "test_linalg_solve_triangular_xpu_complex64", "test_linalg_solve_triangular_xpu_float64", "test_lobpcg_basic_xpu_float64", "test_lobpcg_ortho_xpu_float64", - "test_lu_solve_batched_broadcasting_xpu_complex128", - "test_lu_solve_batched_broadcasting_xpu_complex64", - "test_lu_solve_batched_many_batches_xpu_complex128", - "test_lu_solve_batched_many_batches_xpu_complex64", - "test_lu_solve_batched_xpu_complex128", - "test_lu_solve_batched_xpu_complex64", - "test_lu_solve_large_matrices_xpu_complex128", - "test_lu_solve_large_matrices_xpu_complex64", - "test_lu_solve_xpu_complex128", - "test_lu_solve_xpu_complex64", - "test_matmul_out_kernel_errors_with_autograd_xpu_complex64", - "test_matmul_small_brute_force_1d_Nd_xpu_complex64", - "test_matmul_small_brute_force_2d_Nd_xpu_complex64", - "test_matmul_small_brute_force_3d_Nd_xpu_complex64", - "test_matrix_power_negative_xpu_complex128", "test_matrix_power_negative_xpu_float64", - "test_matrix_power_non_negative_xpu_complex128", "test_matrix_power_non_negative_xpu_float64", "test_matrix_rank_atol_rtol_xpu_float64", - "test_matrix_rank_xpu_complex128", - "test_matrix_rank_xpu_complex64", "test_matrix_rank_xpu_float64", "test_mm_bmm_non_memory_dense_xpu", "test_mm_conjtranspose_xpu", @@ -1341,53 +895,22 @@ "test_multi_dot_xpu_complex128", "test_multi_dot_xpu_float64", "test_old_cholesky_batched_many_batches_xpu_float64", - "test_old_cholesky_batched_upper_xpu_complex128", - "test_old_cholesky_batched_upper_xpu_complex64", "test_old_cholesky_batched_upper_xpu_float64", - "test_old_cholesky_batched_xpu_complex128", - "test_old_cholesky_batched_xpu_complex64", "test_old_cholesky_batched_xpu_float64", - "test_old_cholesky_xpu_complex128", - "test_old_cholesky_xpu_complex64", "test_old_cholesky_xpu_float64", - "test_ormqr_xpu_complex128", - "test_ormqr_xpu_complex64", "test_ormqr_xpu_float64", "test_pca_lowrank_xpu", - "test_pinv_errors_and_warnings_xpu_complex128", - "test_pinv_errors_and_warnings_xpu_complex64", "test_pinv_errors_and_warnings_xpu_float64", - "test_pinv_xpu_complex128", - "test_pinv_xpu_complex64", "test_pinv_xpu_float64", - "test_pinverse_xpu_complex128", - "test_pinverse_xpu_complex64", "test_pinverse_xpu_float64", - "test_slogdet_xpu_complex128", - "test_slogdet_xpu_complex64", - "test_solve_batched_broadcasting_xpu_complex128", - "test_solve_batched_broadcasting_xpu_complex64", "test_solve_batched_broadcasting_xpu_float64", - "test_solve_xpu_complex128", - "test_solve_xpu_complex64", "test_solve_xpu_float64", "test_strided_mm_bmm_xpu_float64", - "test_svd_lowrank_xpu_complex128", "test_svd_lowrank_xpu_float64", - "test_svd_xpu_complex128", - "test_svd_xpu_complex64", "test_svd_xpu_float64", - "test_triangular_solve_batched_broadcasting_xpu_complex128", - "test_triangular_solve_batched_broadcasting_xpu_complex64", "test_triangular_solve_batched_broadcasting_xpu_float64", - "test_triangular_solve_batched_many_batches_xpu_complex128", - "test_triangular_solve_batched_many_batches_xpu_complex64", "test_triangular_solve_batched_many_batches_xpu_float64", - "test_triangular_solve_batched_xpu_complex128", - "test_triangular_solve_batched_xpu_complex64", "test_triangular_solve_batched_xpu_float64", - "test_triangular_solve_xpu_complex128", - "test_triangular_solve_xpu_complex64", "test_triangular_solve_xpu_float64", # https://github.com/intel/torch-xpu-ops/issues/821 # addmm.out, addmv.out, linalg_lstsq, vdot&dot, _int_mm lack XPU support and fallback to CPU @@ -1474,241 +997,122 @@ ), "test_ops_fwd_gradients_xpu.py": ( # All of the followings are oneDNN issues - # RuntimeError: Double and complex datatype matmul is not supported in oneDNN - "test_fn_fwgrad_bwgrad___rmatmul___xpu_complex128", + # RuntimeError: Double datatype matmul is not supported in oneDNN "test_fn_fwgrad_bwgrad___rmatmul___xpu_float64", "test_fn_fwgrad_bwgrad_addbmm_xpu_float64", - "test_fn_fwgrad_bwgrad_addmm_decomposed_xpu_complex128", "test_fn_fwgrad_bwgrad_addmm_decomposed_xpu_float64", - "test_fn_fwgrad_bwgrad_addmm_xpu_complex128", "test_fn_fwgrad_bwgrad_addmm_xpu_float64", - "test_fn_fwgrad_bwgrad_addmv_xpu_complex128", "test_fn_fwgrad_bwgrad_addmv_xpu_float64", - "test_fn_fwgrad_bwgrad_addr_xpu_complex128", "test_fn_fwgrad_bwgrad_addr_xpu_float64", - "test_fn_fwgrad_bwgrad_baddbmm_xpu_complex128", "test_fn_fwgrad_bwgrad_baddbmm_xpu_float64", - "test_fn_fwgrad_bwgrad_bmm_xpu_complex128", "test_fn_fwgrad_bwgrad_bmm_xpu_float64", - "test_fn_fwgrad_bwgrad_cholesky_inverse_xpu_complex128", "test_fn_fwgrad_bwgrad_cholesky_inverse_xpu_float64", - "test_fn_fwgrad_bwgrad_cholesky_solve_xpu_complex128", "test_fn_fwgrad_bwgrad_cholesky_solve_xpu_float64", - "test_fn_fwgrad_bwgrad_cholesky_xpu_complex128", "test_fn_fwgrad_bwgrad_cholesky_xpu_float64", - "test_fn_fwgrad_bwgrad_corrcoef_xpu_complex128", "test_fn_fwgrad_bwgrad_corrcoef_xpu_float64", - "test_fn_fwgrad_bwgrad_einsum_xpu_complex128", "test_fn_fwgrad_bwgrad_einsum_xpu_float64", - "test_fn_fwgrad_bwgrad_inner_xpu_complex128", "test_fn_fwgrad_bwgrad_inner_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_cholesky_ex_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_cholesky_ex_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_cholesky_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_cholesky_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_cond_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_cond_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_det_xpu_complex128", - "test_fn_fwgrad_bwgrad_linalg_eig_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_eig_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_eigh_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_eigh_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_eigvals_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_eigvals_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_eigvalsh_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_eigvalsh_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_householder_product_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_householder_product_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_inv_ex_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_inv_ex_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_inv_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_inv_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_lstsq_grad_oriented_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_lstsq_grad_oriented_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_lu_factor_ex_xpu_complex128", - "test_fn_fwgrad_bwgrad_linalg_lu_factor_xpu_complex128", - "test_fn_fwgrad_bwgrad_linalg_lu_solve_xpu_complex128", - "test_fn_fwgrad_bwgrad_linalg_lu_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_lu_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_matrix_norm_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_matrix_norm_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_matrix_power_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_matrix_power_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_multi_dot_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_multi_dot_xpu_float64", "test_fn_fwgrad_bwgrad_linalg_norm_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_pinv_hermitian_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_pinv_hermitian_xpu_float64", "test_fn_fwgrad_bwgrad_linalg_pinv_singular_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_pinv_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_pinv_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_qr_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_qr_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_slogdet_xpu_complex128", - "test_fn_fwgrad_bwgrad_linalg_solve_ex_xpu_complex128", - "test_fn_fwgrad_bwgrad_linalg_solve_triangular_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_solve_triangular_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_solve_xpu_complex128", - "test_fn_fwgrad_bwgrad_linalg_svd_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_svd_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_svdvals_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_svdvals_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_tensorinv_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_tensorinv_xpu_float64", - "test_fn_fwgrad_bwgrad_linalg_tensorsolve_xpu_complex128", "test_fn_fwgrad_bwgrad_linalg_tensorsolve_xpu_float64", - "test_fn_fwgrad_bwgrad_logdet_xpu_complex128", "test_fn_fwgrad_bwgrad_logdet_xpu_float64", - "test_fn_fwgrad_bwgrad_lu_solve_xpu_complex128", - "test_fn_fwgrad_bwgrad_lu_xpu_complex128", "test_fn_fwgrad_bwgrad_lu_xpu_float64", - "test_fn_fwgrad_bwgrad_matmul_xpu_complex128", "test_fn_fwgrad_bwgrad_matmul_xpu_float64", - "test_fn_fwgrad_bwgrad_mm_xpu_complex128", "test_fn_fwgrad_bwgrad_mm_xpu_float64", - "test_fn_fwgrad_bwgrad_mv_xpu_complex128", "test_fn_fwgrad_bwgrad_mv_xpu_float64", "test_fn_fwgrad_bwgrad_nn_functional_bilinear_xpu_float64", - "test_fn_fwgrad_bwgrad_nn_functional_linear_xpu_complex128", "test_fn_fwgrad_bwgrad_nn_functional_linear_xpu_float64", "test_fn_fwgrad_bwgrad_nn_functional_multi_head_attention_forward_xpu_float64", "test_fn_fwgrad_bwgrad_nn_functional_scaled_dot_product_attention_xpu_float64", - "test_fn_fwgrad_bwgrad_norm_nuc_xpu_complex128", "test_fn_fwgrad_bwgrad_norm_nuc_xpu_float64", - "test_fn_fwgrad_bwgrad_ormqr_xpu_complex128", "test_fn_fwgrad_bwgrad_ormqr_xpu_float64", "test_fn_fwgrad_bwgrad_pca_lowrank_xpu_float64", - "test_fn_fwgrad_bwgrad_pinverse_xpu_complex128", "test_fn_fwgrad_bwgrad_pinverse_xpu_float64", - "test_fn_fwgrad_bwgrad_qr_xpu_complex128", "test_fn_fwgrad_bwgrad_qr_xpu_float64", "test_fn_fwgrad_bwgrad_svd_lowrank_xpu_float64", - "test_fn_fwgrad_bwgrad_svd_xpu_complex128", "test_fn_fwgrad_bwgrad_svd_xpu_float64", - "test_fn_fwgrad_bwgrad_tensordot_xpu_complex128", "test_fn_fwgrad_bwgrad_tensordot_xpu_float64", - "test_forward_mode_AD___rmatmul___xpu_complex128", "test_forward_mode_AD___rmatmul___xpu_float64", "test_forward_mode_AD_addbmm_xpu_float64", - "test_forward_mode_AD_addmm_decomposed_xpu_complex128", "test_forward_mode_AD_addmm_decomposed_xpu_float64", - "test_forward_mode_AD_addmm_xpu_complex128", "test_forward_mode_AD_addmm_xpu_float64", - "test_forward_mode_AD_addmv_xpu_complex128", "test_forward_mode_AD_addmv_xpu_float64", - "test_forward_mode_AD_baddbmm_xpu_complex128", "test_forward_mode_AD_baddbmm_xpu_float64", - "test_forward_mode_AD_bmm_xpu_complex128", "test_forward_mode_AD_bmm_xpu_float64", - "test_forward_mode_AD_cholesky_inverse_xpu_complex128", "test_forward_mode_AD_cholesky_inverse_xpu_float64", - "test_forward_mode_AD_cholesky_solve_xpu_complex128", "test_forward_mode_AD_cholesky_solve_xpu_float64", - "test_forward_mode_AD_cholesky_xpu_complex128", "test_forward_mode_AD_cholesky_xpu_float64", - "test_forward_mode_AD_corrcoef_xpu_complex128", "test_forward_mode_AD_corrcoef_xpu_float64", - "test_forward_mode_AD_dot_xpu_complex128", "test_forward_mode_AD_dot_xpu_float64", - "test_forward_mode_AD_einsum_xpu_complex128", "test_forward_mode_AD_einsum_xpu_float64", - "test_forward_mode_AD_inner_xpu_complex128", "test_forward_mode_AD_inner_xpu_float64", - "test_forward_mode_AD_linalg_cholesky_ex_xpu_complex128", "test_forward_mode_AD_linalg_cholesky_ex_xpu_float64", - "test_forward_mode_AD_linalg_cholesky_xpu_complex128", "test_forward_mode_AD_linalg_cholesky_xpu_float64", - "test_forward_mode_AD_linalg_cond_xpu_complex128", "test_forward_mode_AD_linalg_cond_xpu_float64", - "test_forward_mode_AD_linalg_det_xpu_complex128", - "test_forward_mode_AD_linalg_eig_xpu_complex128", "test_forward_mode_AD_linalg_eig_xpu_float64", - "test_forward_mode_AD_linalg_eigh_xpu_complex128", "test_forward_mode_AD_linalg_eigh_xpu_float64", - "test_forward_mode_AD_linalg_eigvals_xpu_complex128", "test_forward_mode_AD_linalg_eigvals_xpu_float64", - "test_forward_mode_AD_linalg_eigvalsh_xpu_complex128", "test_forward_mode_AD_linalg_eigvalsh_xpu_float64", - "test_forward_mode_AD_linalg_householder_product_xpu_complex128", "test_forward_mode_AD_linalg_householder_product_xpu_float64", - "test_forward_mode_AD_linalg_inv_ex_xpu_complex128", "test_forward_mode_AD_linalg_inv_ex_xpu_float64", - "test_forward_mode_AD_linalg_inv_xpu_complex128", "test_forward_mode_AD_linalg_inv_xpu_float64", - "test_forward_mode_AD_linalg_lstsq_grad_oriented_xpu_complex128", "test_forward_mode_AD_linalg_lstsq_grad_oriented_xpu_float64", - "test_forward_mode_AD_linalg_lu_factor_ex_xpu_complex128", - "test_forward_mode_AD_linalg_lu_factor_xpu_complex128", - "test_forward_mode_AD_linalg_lu_solve_xpu_complex128", - "test_forward_mode_AD_linalg_lu_xpu_complex128", "test_forward_mode_AD_linalg_lu_xpu_float64", - "test_forward_mode_AD_linalg_matrix_norm_xpu_complex128", "test_forward_mode_AD_linalg_matrix_norm_xpu_float64", - "test_forward_mode_AD_linalg_matrix_power_xpu_complex128", "test_forward_mode_AD_linalg_matrix_power_xpu_float64", - "test_forward_mode_AD_linalg_multi_dot_xpu_complex128", "test_forward_mode_AD_linalg_multi_dot_xpu_float64", "test_forward_mode_AD_linalg_norm_xpu_float64", - "test_forward_mode_AD_linalg_pinv_hermitian_xpu_complex128", "test_forward_mode_AD_linalg_pinv_hermitian_xpu_float64", - "test_forward_mode_AD_linalg_pinv_singular_xpu_complex128", "test_forward_mode_AD_linalg_pinv_singular_xpu_float64", - "test_forward_mode_AD_linalg_pinv_xpu_complex128", "test_forward_mode_AD_linalg_pinv_xpu_float64", - "test_forward_mode_AD_linalg_qr_xpu_complex128", "test_forward_mode_AD_linalg_qr_xpu_float64", - "test_forward_mode_AD_linalg_slogdet_xpu_complex128", - "test_forward_mode_AD_linalg_solve_ex_xpu_complex128", - "test_forward_mode_AD_linalg_solve_triangular_xpu_complex128", "test_forward_mode_AD_linalg_solve_triangular_xpu_float64", - "test_forward_mode_AD_linalg_solve_xpu_complex128", - "test_forward_mode_AD_linalg_svd_xpu_complex128", "test_forward_mode_AD_linalg_svd_xpu_float64", - "test_forward_mode_AD_linalg_svdvals_xpu_complex128", "test_forward_mode_AD_linalg_svdvals_xpu_float64", - "test_forward_mode_AD_linalg_tensorinv_xpu_complex128", "test_forward_mode_AD_linalg_tensorinv_xpu_float64", - "test_forward_mode_AD_linalg_tensorsolve_xpu_complex128", "test_forward_mode_AD_linalg_tensorsolve_xpu_float64", - "test_forward_mode_AD_logdet_xpu_complex128", "test_forward_mode_AD_logdet_xpu_float64", - "test_forward_mode_AD_lu_solve_xpu_complex128", - "test_forward_mode_AD_lu_xpu_complex128", "test_forward_mode_AD_lu_xpu_float64", - "test_forward_mode_AD_matmul_xpu_complex128", "test_forward_mode_AD_matmul_xpu_float64", - "test_forward_mode_AD_mm_xpu_complex128", "test_forward_mode_AD_mm_xpu_float64", - "test_forward_mode_AD_mv_xpu_complex128", "test_forward_mode_AD_mv_xpu_float64", "test_forward_mode_AD_nn_functional_bilinear_xpu_float64", - "test_forward_mode_AD_nn_functional_linear_xpu_complex128", "test_forward_mode_AD_nn_functional_linear_xpu_float64", - "test_forward_mode_AD_norm_nuc_xpu_complex128", "test_forward_mode_AD_norm_nuc_xpu_float64", "test_forward_mode_AD_pca_lowrank_xpu_float64", - "test_forward_mode_AD_pinverse_xpu_complex128", "test_forward_mode_AD_pinverse_xpu_float64", - "test_forward_mode_AD_qr_xpu_complex128", "test_forward_mode_AD_qr_xpu_float64", "test_forward_mode_AD_svd_lowrank_xpu_float64", - "test_forward_mode_AD_svd_xpu_complex128", "test_forward_mode_AD_svd_xpu_float64", - "test_forward_mode_AD_tensordot_xpu_complex128", "test_forward_mode_AD_tensordot_xpu_float64", - "test_forward_mode_AD_triangular_solve_xpu_complex128", "test_forward_mode_AD_triangular_solve_xpu_float64", "test_inplace_forward_mode_AD_addbmm_xpu_float64", - "test_inplace_forward_mode_AD_addmm_decomposed_xpu_complex128", "test_inplace_forward_mode_AD_addmm_decomposed_xpu_float64", - "test_inplace_forward_mode_AD_addmm_xpu_complex128", "test_inplace_forward_mode_AD_addmm_xpu_float64", - "test_inplace_forward_mode_AD_addmv_xpu_complex128", "test_inplace_forward_mode_AD_addmv_xpu_float64", - "test_inplace_forward_mode_AD_baddbmm_xpu_complex128", "test_inplace_forward_mode_AD_baddbmm_xpu_float64", - "test_forward_mode_AD_pca_lowrank_xpu_complex128", - "test_forward_mode_AD_svd_lowrank_xpu_complex128", # RuntimeError: value cannot be converted to type float without overflow "test_fn_fwgrad_bwgrad_addbmm_xpu_complex128", "test_forward_mode_AD_addbmm_xpu_complex128", @@ -1810,264 +1214,134 @@ ), "test_ops_gradients_xpu.py": ( # All are oneDNN issues - ### Error #0 in TestBwdGradientsXPU , totally 271 , RuntimeError: Double and complex datatype matmul is not supported in oneDNN + ### Error #0 in TestBwdGradientsXPU, RuntimeError: Double datatype matmul is not supported in oneDNN "test_fn_grad_index_reduce_prod_xpu_float64", "test_inplace_grad_index_reduce_prod_xpu_float64", - "test_fn_grad___rmatmul___xpu_complex128", "test_fn_grad___rmatmul___xpu_float64", "test_fn_grad_addbmm_xpu_float64", - "test_fn_grad_addmm_decomposed_xpu_complex128", "test_fn_grad_addmm_decomposed_xpu_float64", - "test_fn_grad_addmm_xpu_complex128", "test_fn_grad_addmm_xpu_float64", - "test_fn_grad_addmv_xpu_complex128", "test_fn_grad_addmv_xpu_float64", - "test_fn_grad_addr_xpu_complex128", "test_fn_grad_addr_xpu_float64", - "test_fn_grad_baddbmm_xpu_complex128", "test_fn_grad_baddbmm_xpu_float64", - "test_fn_grad_bmm_xpu_complex128", "test_fn_grad_bmm_xpu_float64", "test_fn_grad_cdist_xpu_float64", - "test_fn_grad_cholesky_inverse_xpu_complex128", "test_fn_grad_cholesky_inverse_xpu_float64", - "test_fn_grad_cholesky_solve_xpu_complex128", "test_fn_grad_cholesky_solve_xpu_float64", - "test_fn_grad_cholesky_xpu_complex128", "test_fn_grad_cholesky_xpu_float64", - "test_fn_grad_corrcoef_xpu_complex128", "test_fn_grad_corrcoef_xpu_float64", - "test_fn_grad_einsum_xpu_complex128", "test_fn_grad_einsum_xpu_float64", - "test_fn_grad_inner_xpu_complex128", "test_fn_grad_inner_xpu_float64", - "test_fn_grad_linalg_cholesky_ex_xpu_complex128", "test_fn_grad_linalg_cholesky_ex_xpu_float64", - "test_fn_grad_linalg_cholesky_xpu_complex128", "test_fn_grad_linalg_cholesky_xpu_float64", - "test_fn_grad_linalg_cond_xpu_complex128", "test_fn_grad_linalg_cond_xpu_float64", - "test_fn_grad_linalg_det_xpu_complex128", - "test_fn_grad_linalg_eig_xpu_complex128", "test_fn_grad_linalg_eig_xpu_float64", - "test_fn_grad_linalg_eigh_xpu_complex128", "test_fn_grad_linalg_eigh_xpu_float64", - "test_fn_grad_linalg_eigvals_xpu_complex128", - "test_fn_grad_linalg_eigvalsh_xpu_complex128", "test_fn_grad_linalg_eigvalsh_xpu_float64", - "test_fn_grad_linalg_householder_product_xpu_complex128", "test_fn_grad_linalg_householder_product_xpu_float64", - "test_fn_grad_linalg_inv_ex_xpu_complex128", "test_fn_grad_linalg_inv_ex_xpu_float64", - "test_fn_grad_linalg_inv_xpu_complex128", "test_fn_grad_linalg_inv_xpu_float64", - "test_fn_grad_linalg_lstsq_grad_oriented_xpu_complex128", "test_fn_grad_linalg_lstsq_grad_oriented_xpu_float64", - "test_fn_grad_linalg_lu_factor_ex_xpu_complex128", - "test_fn_grad_linalg_lu_factor_xpu_complex128", - "test_fn_grad_linalg_lu_solve_xpu_complex128", - "test_fn_grad_linalg_lu_xpu_complex128", "test_fn_grad_linalg_lu_xpu_float64", - "test_fn_grad_linalg_matrix_norm_xpu_complex128", "test_fn_grad_linalg_matrix_norm_xpu_float64", - "test_fn_grad_linalg_matrix_power_xpu_complex128", "test_fn_grad_linalg_matrix_power_xpu_float64", - "test_fn_grad_linalg_multi_dot_xpu_complex128", "test_fn_grad_linalg_multi_dot_xpu_float64", "test_fn_grad_linalg_norm_xpu_float64", - "test_fn_grad_linalg_pinv_hermitian_xpu_complex128", "test_fn_grad_linalg_pinv_hermitian_xpu_float64", - "test_fn_grad_linalg_pinv_singular_xpu_complex128", "test_fn_grad_linalg_pinv_singular_xpu_float64", - "test_fn_grad_linalg_pinv_xpu_complex128", "test_fn_grad_linalg_pinv_xpu_float64", - "test_fn_grad_linalg_qr_xpu_complex128", "test_fn_grad_linalg_qr_xpu_float64", - "test_fn_grad_linalg_slogdet_xpu_complex128", - "test_fn_grad_linalg_solve_ex_xpu_complex128", - "test_fn_grad_linalg_solve_triangular_xpu_complex128", "test_fn_grad_linalg_solve_triangular_xpu_float64", - "test_fn_grad_linalg_solve_xpu_complex128", - "test_fn_grad_linalg_svd_xpu_complex128", "test_fn_grad_linalg_svd_xpu_float64", - "test_fn_grad_linalg_svdvals_xpu_complex128", "test_fn_grad_linalg_svdvals_xpu_float64", - "test_fn_grad_linalg_tensorinv_xpu_complex128", "test_fn_grad_linalg_tensorinv_xpu_float64", - "test_fn_grad_linalg_tensorsolve_xpu_complex128", "test_fn_grad_linalg_tensorsolve_xpu_float64", - "test_fn_grad_logdet_xpu_complex128", "test_fn_grad_logdet_xpu_float64", - "test_fn_grad_lu_solve_xpu_complex128", - "test_fn_grad_lu_xpu_complex128", "test_fn_grad_lu_xpu_float64", - "test_fn_grad_matmul_xpu_complex128", "test_fn_grad_matmul_xpu_float64", - "test_fn_grad_mm_xpu_complex128", "test_fn_grad_mm_xpu_float64", - "test_fn_grad_mv_xpu_complex128", "test_fn_grad_mv_xpu_float64", "test_fn_grad_nn_functional_bilinear_xpu_float64", - "test_fn_grad_nn_functional_linear_xpu_complex128", "test_fn_grad_nn_functional_linear_xpu_float64", "test_fn_grad_nn_functional_multi_head_attention_forward_xpu_float64", "test_fn_grad_nn_functional_scaled_dot_product_attention_xpu_float64", - "test_fn_grad_norm_nuc_xpu_complex128", "test_fn_grad_norm_nuc_xpu_float64", - "test_fn_grad_ormqr_xpu_complex128", "test_fn_grad_ormqr_xpu_float64", "test_fn_grad_pca_lowrank_xpu_float64", - "test_fn_grad_pinverse_xpu_complex128", "test_fn_grad_pinverse_xpu_float64", - "test_fn_grad_qr_xpu_complex128", "test_fn_grad_qr_xpu_float64", "test_fn_grad_svd_lowrank_xpu_float64", - "test_fn_grad_svd_xpu_complex128", "test_fn_grad_svd_xpu_float64", - "test_fn_grad_tensordot_xpu_complex128", "test_fn_grad_tensordot_xpu_float64", - "test_fn_grad_triangular_solve_xpu_complex128", "test_fn_grad_triangular_solve_xpu_float64", - "test_fn_gradgrad___rmatmul___xpu_complex128", "test_fn_gradgrad___rmatmul___xpu_float64", "test_fn_gradgrad_addbmm_xpu_float64", - "test_fn_gradgrad_addmm_decomposed_xpu_complex128", "test_fn_gradgrad_addmm_decomposed_xpu_float64", - "test_fn_gradgrad_addmm_xpu_complex128", "test_fn_gradgrad_addmm_xpu_float64", - "test_fn_gradgrad_addmv_xpu_complex128", "test_fn_gradgrad_addmv_xpu_float64", - "test_fn_gradgrad_addr_xpu_complex128", "test_fn_gradgrad_addr_xpu_float64", - "test_fn_gradgrad_baddbmm_xpu_complex128", "test_fn_gradgrad_baddbmm_xpu_float64", - "test_fn_gradgrad_bmm_xpu_complex128", "test_fn_gradgrad_bmm_xpu_float64", - "test_fn_gradgrad_cholesky_inverse_xpu_complex128", "test_fn_gradgrad_cholesky_inverse_xpu_float64", - "test_fn_gradgrad_cholesky_solve_xpu_complex128", "test_fn_gradgrad_cholesky_solve_xpu_float64", - "test_fn_gradgrad_cholesky_xpu_complex128", "test_fn_gradgrad_cholesky_xpu_float64", - "test_fn_gradgrad_corrcoef_xpu_complex128", "test_fn_gradgrad_corrcoef_xpu_float64", - "test_fn_gradgrad_einsum_xpu_complex128", "test_fn_gradgrad_einsum_xpu_float64", - "test_fn_gradgrad_inner_xpu_complex128", "test_fn_gradgrad_inner_xpu_float64", - "test_fn_gradgrad_linalg_cholesky_ex_xpu_complex128", "test_fn_gradgrad_linalg_cholesky_ex_xpu_float64", - "test_fn_gradgrad_linalg_cholesky_xpu_complex128", "test_fn_gradgrad_linalg_cholesky_xpu_float64", - "test_fn_gradgrad_linalg_cond_xpu_complex128", "test_fn_gradgrad_linalg_cond_xpu_float64", - "test_fn_gradgrad_linalg_det_xpu_complex128", - "test_fn_gradgrad_linalg_eig_xpu_complex128", "test_fn_gradgrad_linalg_eig_xpu_float64", - "test_fn_gradgrad_linalg_eigh_xpu_complex128", "test_fn_gradgrad_linalg_eigh_xpu_float64", - "test_fn_gradgrad_linalg_eigvals_xpu_complex128", "test_fn_gradgrad_linalg_eigvals_xpu_float64", - "test_fn_gradgrad_linalg_eigvalsh_xpu_complex128", "test_fn_gradgrad_linalg_eigvalsh_xpu_float64", - "test_fn_gradgrad_linalg_householder_product_xpu_complex128", "test_fn_gradgrad_linalg_householder_product_xpu_float64", - "test_fn_gradgrad_linalg_inv_ex_xpu_complex128", "test_fn_gradgrad_linalg_inv_ex_xpu_float64", - "test_fn_gradgrad_linalg_inv_xpu_complex128", "test_fn_gradgrad_linalg_inv_xpu_float64", - "test_fn_gradgrad_linalg_lstsq_grad_oriented_xpu_complex128", "test_fn_gradgrad_linalg_lstsq_grad_oriented_xpu_float64", - "test_fn_gradgrad_linalg_lu_factor_ex_xpu_complex128", - "test_fn_gradgrad_linalg_lu_factor_xpu_complex128", - "test_fn_gradgrad_linalg_lu_solve_xpu_complex128", - "test_fn_gradgrad_linalg_lu_xpu_complex128", "test_fn_gradgrad_linalg_lu_xpu_float64", - "test_fn_gradgrad_linalg_matrix_norm_xpu_complex128", "test_fn_gradgrad_linalg_matrix_norm_xpu_float64", - "test_fn_gradgrad_linalg_matrix_power_xpu_complex128", "test_fn_gradgrad_linalg_matrix_power_xpu_float64", - "test_fn_gradgrad_linalg_multi_dot_xpu_complex128", "test_fn_gradgrad_linalg_multi_dot_xpu_float64", - "test_fn_gradgrad_linalg_pinv_hermitian_xpu_complex128", "test_fn_gradgrad_linalg_pinv_hermitian_xpu_float64", "test_fn_gradgrad_linalg_pinv_singular_xpu_float64", - "test_fn_gradgrad_linalg_pinv_xpu_complex128", "test_fn_gradgrad_linalg_pinv_xpu_float64", - "test_fn_gradgrad_linalg_qr_xpu_complex128", "test_fn_gradgrad_linalg_qr_xpu_float64", - "test_fn_gradgrad_linalg_slogdet_xpu_complex128", - "test_fn_gradgrad_linalg_solve_ex_xpu_complex128", - "test_fn_gradgrad_linalg_solve_triangular_xpu_complex128", "test_fn_gradgrad_linalg_solve_triangular_xpu_float64", - "test_fn_gradgrad_linalg_solve_xpu_complex128", - "test_fn_gradgrad_linalg_svd_xpu_complex128", "test_fn_gradgrad_linalg_svd_xpu_float64", - "test_fn_gradgrad_linalg_svdvals_xpu_complex128", "test_fn_gradgrad_linalg_svdvals_xpu_float64", - "test_fn_gradgrad_linalg_tensorinv_xpu_complex128", "test_fn_gradgrad_linalg_tensorinv_xpu_float64", - "test_fn_gradgrad_linalg_tensorsolve_xpu_complex128", "test_fn_gradgrad_linalg_tensorsolve_xpu_float64", - "test_fn_gradgrad_logdet_xpu_complex128", "test_fn_gradgrad_logdet_xpu_float64", - "test_fn_gradgrad_lu_solve_xpu_complex128", - "test_fn_gradgrad_lu_xpu_complex128", "test_fn_gradgrad_lu_xpu_float64", - "test_fn_gradgrad_matmul_xpu_complex128", "test_fn_gradgrad_matmul_xpu_float64", - "test_fn_gradgrad_mm_xpu_complex128", "test_fn_gradgrad_mm_xpu_float64", - "test_fn_gradgrad_mv_xpu_complex128", "test_fn_gradgrad_mv_xpu_float64", "test_fn_gradgrad_nn_functional_bilinear_xpu_float64", - "test_fn_gradgrad_nn_functional_linear_xpu_complex128", "test_fn_gradgrad_nn_functional_linear_xpu_float64", "test_fn_gradgrad_nn_functional_multi_head_attention_forward_xpu_float64", "test_fn_gradgrad_nn_functional_scaled_dot_product_attention_xpu_float64", - "test_fn_gradgrad_norm_nuc_xpu_complex128", "test_fn_gradgrad_norm_nuc_xpu_float64", - "test_fn_gradgrad_ormqr_xpu_complex128", "test_fn_gradgrad_ormqr_xpu_float64", "test_fn_gradgrad_pca_lowrank_xpu_float64", - "test_fn_gradgrad_pinverse_xpu_complex128", "test_fn_gradgrad_pinverse_xpu_float64", - "test_fn_gradgrad_qr_xpu_complex128", "test_fn_gradgrad_qr_xpu_float64", "test_fn_gradgrad_svd_lowrank_xpu_float64", - "test_fn_gradgrad_svd_xpu_complex128", "test_fn_gradgrad_svd_xpu_float64", - "test_fn_gradgrad_tensordot_xpu_complex128", "test_fn_gradgrad_tensordot_xpu_float64", - "test_fn_gradgrad_triangular_solve_xpu_complex128", "test_fn_gradgrad_triangular_solve_xpu_float64", "test_inplace_grad_addbmm_xpu_float64", - "test_inplace_grad_addmm_decomposed_xpu_complex128", "test_inplace_grad_addmm_decomposed_xpu_float64", - "test_inplace_grad_addmm_xpu_complex128", "test_inplace_grad_addmm_xpu_float64", - "test_inplace_grad_addmv_xpu_complex128", "test_inplace_grad_addmv_xpu_float64", - "test_inplace_grad_addr_xpu_complex128", "test_inplace_grad_addr_xpu_float64", - "test_inplace_grad_baddbmm_xpu_complex128", "test_inplace_grad_baddbmm_xpu_float64", "test_inplace_gradgrad_addbmm_xpu_float64", - "test_inplace_gradgrad_addmm_decomposed_xpu_complex128", "test_inplace_gradgrad_addmm_decomposed_xpu_float64", - "test_inplace_gradgrad_addmm_xpu_complex128", "test_inplace_gradgrad_addmm_xpu_float64", - "test_inplace_gradgrad_addmv_xpu_complex128", "test_inplace_gradgrad_addmv_xpu_float64", - "test_inplace_gradgrad_addr_xpu_complex128", "test_inplace_gradgrad_addr_xpu_float64", - "test_inplace_gradgrad_baddbmm_xpu_complex128", "test_inplace_gradgrad_baddbmm_xpu_float64", - "test_fn_grad_pca_lowrank_xpu_complex128", - "test_fn_grad_svd_lowrank_xpu_complex128", - "test_fn_gradgrad_pca_lowrank_xpu_complex128", - "test_fn_gradgrad_svd_lowrank_xpu_complex128", - "test_fn_grad_linalg_norm_xpu_complex128", ### Error #1 in TestBwdGradientsXPU , totally 4 , RuntimeError: value cannot be converted to type float without overflow "test_fn_grad_addbmm_xpu_complex128", "test_fn_gradgrad_addbmm_xpu_complex128", @@ -2105,8 +1379,6 @@ "test_broadcast_fn_map2_xpu", ### Error #8 in TestTorchDeviceTypeXPU , totally 1 , TypeError: map_ is only implemented on CPU tensors "test_broadcast_fn_map_xpu", - ### Error #9 in TestTorchDeviceTypeXPU , totally 1 , RuntimeError: Double and complex datatype matmul is not supported in oneDNN - "test_corrcoef_xpu_complex64", ### Error #12 in TestTorchDeviceTypeXPU , totally 2 , AttributeError: module 'torch.xpu' has no attribute 'amp' "test_grad_scaler_pass_itself_xpu", "test_pickle_gradscaler_xpu", @@ -2177,7 +1449,7 @@ ), "nn/test_multihead_attention_xpu.py": ( # known oneDNN issue - # RuntimeError: Double and complex datatype matmul is not supported in oneDNN + # RuntimeError: Double datatype matmul is not supported in oneDNN "test_multihead_attention_dtype_batch_first_xpu_float64", "test_multihead_attention_dtype_xpu_float64", "test_multihead_attn_fast_path_query_and_bias_have_different_dtypes_xpu_float64", @@ -2275,372 +1547,189 @@ "test_dispatch_meta_outplace_nn_functional_linear_xpu_int64", "test_dispatch_symbolic_meta_outplace_nn_functional_linear_xpu_int64", "test_meta_outplace_nn_functional_linear_xpu_int64", - # RuntimeError: Double and complex datatype matmul is not supported in oneDNN - "test_dispatch_meta_inplace_addbmm_xpu_complex", - "test_dispatch_meta_outplace_addbmm_xpu_complex", - "test_dispatch_symbolic_meta_inplace_addbmm_xpu_complex", - "test_dispatch_symbolic_meta_outplace_addbmm_xpu_complex", - "test_meta_inplace_addbmm_xpu_complex", - "test_meta_outplace_addbmm_xpu_complex", + # NotImplementedError: The operator 'aten::cholesky_inverse.out' is not currently implemented for the XPU device. + "test_dispatch_meta_outplace_cholesky_inverse_xpu_complex", + "test_dispatch_symbolic_meta_outplace_cholesky_inverse_xpu_complex", + # NotImplementedError: The operator 'aten::cholesky.out' is not currently implemented for the XPU device. + "test_dispatch_meta_outplace_cholesky_xpu_complex", + "test_dispatch_symbolic_meta_outplace_cholesky_xpu_complex", + # RuntimeError: Double datatype matmul is not supported in oneDNN "test_dispatch_meta_inplace_addbmm_xpu_float64", - "test_dispatch_meta_inplace_addmm_decomposed_xpu_complex", "test_dispatch_meta_inplace_addmm_decomposed_xpu_float64", - "test_dispatch_meta_inplace_addmm_xpu_complex", "test_dispatch_meta_inplace_addmm_xpu_float64", - "test_dispatch_meta_inplace_addmv_xpu_complex", "test_dispatch_meta_inplace_addmv_xpu_float64", - "test_dispatch_meta_inplace_baddbmm_xpu_complex", "test_dispatch_meta_inplace_baddbmm_xpu_float64", - "test_dispatch_meta_outplace___rmatmul___xpu_complex", "test_dispatch_meta_outplace___rmatmul___xpu_float64", "test_dispatch_meta_outplace_addbmm_xpu_float64", - "test_dispatch_meta_outplace_addmm_decomposed_xpu_complex", "test_dispatch_meta_outplace_addmm_decomposed_xpu_float64", - "test_dispatch_meta_outplace_addmm_xpu_complex", "test_dispatch_meta_outplace_addmm_xpu_float64", - "test_dispatch_meta_outplace_addmv_xpu_complex", "test_dispatch_meta_outplace_addmv_xpu_float64", - "test_dispatch_meta_outplace_baddbmm_xpu_complex", "test_dispatch_meta_outplace_baddbmm_xpu_float64", - "test_dispatch_meta_outplace_bmm_xpu_complex", "test_dispatch_meta_outplace_bmm_xpu_float64", "test_dispatch_meta_outplace_cdist_xpu_float64", - "test_dispatch_meta_outplace_cholesky_inverse_xpu_complex", "test_dispatch_meta_outplace_cholesky_inverse_xpu_float64", - "test_dispatch_meta_outplace_cholesky_solve_xpu_complex", "test_dispatch_meta_outplace_cholesky_solve_xpu_float64", - "test_dispatch_meta_outplace_cholesky_xpu_complex", "test_dispatch_meta_outplace_cholesky_xpu_float64", - "test_dispatch_meta_outplace_corrcoef_xpu_complex", "test_dispatch_meta_outplace_corrcoef_xpu_float64", - "test_dispatch_meta_outplace_cov_xpu_complex", "test_dispatch_meta_outplace_cov_xpu_float64", - "test_dispatch_meta_outplace_einsum_xpu_complex", "test_dispatch_meta_outplace_einsum_xpu_float64", - "test_dispatch_meta_outplace_geqrf_xpu_complex", "test_dispatch_meta_outplace_geqrf_xpu_float64", - "test_dispatch_meta_outplace_inner_xpu_complex", "test_dispatch_meta_outplace_inner_xpu_float64", - "test_dispatch_meta_outplace_linalg_cholesky_ex_xpu_complex", "test_dispatch_meta_outplace_linalg_cholesky_ex_xpu_float64", - "test_dispatch_meta_outplace_linalg_cholesky_xpu_complex", "test_dispatch_meta_outplace_linalg_cholesky_xpu_float64", - "test_dispatch_meta_outplace_linalg_det_xpu_complex", - "test_dispatch_meta_outplace_linalg_eig_xpu_complex", "test_dispatch_meta_outplace_linalg_eig_xpu_float64", - "test_dispatch_meta_outplace_linalg_eigh_xpu_complex", "test_dispatch_meta_outplace_linalg_eigh_xpu_float64", - "test_dispatch_meta_outplace_linalg_eigvals_xpu_complex", - "test_dispatch_meta_outplace_linalg_eigvalsh_xpu_complex", "test_dispatch_meta_outplace_linalg_eigvalsh_xpu_float64", - "test_dispatch_meta_outplace_linalg_inv_ex_xpu_complex", "test_dispatch_meta_outplace_linalg_inv_ex_xpu_float64", - "test_dispatch_meta_outplace_linalg_inv_xpu_complex", "test_dispatch_meta_outplace_linalg_inv_xpu_float64", - "test_dispatch_meta_outplace_linalg_ldl_factor_ex_xpu_complex", "test_dispatch_meta_outplace_linalg_ldl_factor_ex_xpu_float64", - "test_dispatch_meta_outplace_linalg_ldl_factor_xpu_complex", "test_dispatch_meta_outplace_linalg_ldl_factor_xpu_float64", - "test_dispatch_meta_outplace_linalg_ldl_solve_xpu_complex", "test_dispatch_meta_outplace_linalg_ldl_solve_xpu_float64", - "test_dispatch_meta_outplace_linalg_lstsq_grad_oriented_xpu_complex", "test_dispatch_meta_outplace_linalg_lstsq_grad_oriented_xpu_float64", - "test_dispatch_meta_outplace_linalg_lstsq_xpu_complex", "test_dispatch_meta_outplace_linalg_lstsq_xpu_float64", - "test_dispatch_meta_outplace_linalg_lu_factor_xpu_complex", - "test_dispatch_meta_outplace_linalg_lu_solve_xpu_complex", - "test_dispatch_meta_outplace_linalg_matrix_power_xpu_complex", "test_dispatch_meta_outplace_linalg_matrix_power_xpu_float64", - "test_dispatch_meta_outplace_linalg_matrix_rank_hermitian_xpu_complex", "test_dispatch_meta_outplace_linalg_matrix_rank_hermitian_xpu_float64", - "test_dispatch_meta_outplace_linalg_matrix_rank_xpu_complex", "test_dispatch_meta_outplace_linalg_matrix_rank_xpu_float64", - "test_dispatch_meta_outplace_linalg_multi_dot_xpu_complex", "test_dispatch_meta_outplace_linalg_multi_dot_xpu_float64", - "test_dispatch_meta_outplace_linalg_pinv_hermitian_xpu_complex", "test_dispatch_meta_outplace_linalg_pinv_hermitian_xpu_float64", - "test_dispatch_meta_outplace_linalg_pinv_singular_xpu_complex", "test_dispatch_meta_outplace_linalg_pinv_singular_xpu_float64", - "test_dispatch_meta_outplace_linalg_pinv_xpu_complex", "test_dispatch_meta_outplace_linalg_pinv_xpu_float64", - "test_dispatch_meta_outplace_linalg_qr_xpu_complex", "test_dispatch_meta_outplace_linalg_qr_xpu_float64", - "test_dispatch_meta_outplace_linalg_slogdet_xpu_complex", - "test_dispatch_meta_outplace_linalg_solve_ex_xpu_complex", - "test_dispatch_meta_outplace_linalg_solve_xpu_complex", - "test_dispatch_meta_outplace_linalg_svd_xpu_complex", "test_dispatch_meta_outplace_linalg_svd_xpu_float64", - "test_dispatch_meta_outplace_linalg_tensorinv_xpu_complex", "test_dispatch_meta_outplace_linalg_tensorinv_xpu_float64", - "test_dispatch_meta_outplace_logdet_xpu_complex", "test_dispatch_meta_outplace_logdet_xpu_float64", - "test_dispatch_meta_outplace_lu_solve_xpu_complex", - "test_dispatch_meta_outplace_lu_xpu_complex", "test_dispatch_meta_outplace_lu_xpu_float64", - "test_dispatch_meta_outplace_matmul_xpu_complex", "test_dispatch_meta_outplace_matmul_xpu_float64", - "test_dispatch_meta_outplace_mm_xpu_complex", "test_dispatch_meta_outplace_mm_xpu_float64", - "test_dispatch_meta_outplace_mv_xpu_complex", "test_dispatch_meta_outplace_mv_xpu_float64", "test_dispatch_meta_outplace_nn_functional_bilinear_xpu_float64", - "test_dispatch_meta_outplace_nn_functional_linear_xpu_complex", "test_dispatch_meta_outplace_nn_functional_linear_xpu_float64", "test_dispatch_meta_outplace_nn_functional_multi_head_attention_forward_xpu_float64", "test_dispatch_meta_outplace_nn_functional_scaled_dot_product_attention_xpu_float64", - "test_dispatch_meta_outplace_pca_lowrank_xpu_complex", "test_dispatch_meta_outplace_pca_lowrank_xpu_float64", - "test_dispatch_meta_outplace_pinverse_xpu_complex", "test_dispatch_meta_outplace_pinverse_xpu_float64", - "test_dispatch_meta_outplace_qr_xpu_complex", "test_dispatch_meta_outplace_qr_xpu_float64", - "test_dispatch_meta_outplace_svd_lowrank_xpu_complex", "test_dispatch_meta_outplace_svd_lowrank_xpu_float64", - "test_dispatch_meta_outplace_svd_xpu_complex", "test_dispatch_meta_outplace_svd_xpu_float64", - "test_dispatch_meta_outplace_tensordot_xpu_complex", "test_dispatch_meta_outplace_tensordot_xpu_float64", - "test_dispatch_meta_outplace_triangular_solve_xpu_complex", "test_dispatch_meta_outplace_triangular_solve_xpu_float64", "test_dispatch_symbolic_meta_inplace_addbmm_xpu_float64", - "test_dispatch_symbolic_meta_inplace_addmm_decomposed_xpu_complex", "test_dispatch_symbolic_meta_inplace_addmm_decomposed_xpu_float64", - "test_dispatch_symbolic_meta_inplace_addmm_xpu_complex", "test_dispatch_symbolic_meta_inplace_addmm_xpu_float64", - "test_dispatch_symbolic_meta_inplace_addmv_xpu_complex", "test_dispatch_symbolic_meta_inplace_addmv_xpu_float64", - "test_dispatch_symbolic_meta_inplace_baddbmm_xpu_complex", "test_dispatch_symbolic_meta_inplace_baddbmm_xpu_float64", - "test_dispatch_symbolic_meta_outplace___rmatmul___xpu_complex", "test_dispatch_symbolic_meta_outplace___rmatmul___xpu_float64", "test_dispatch_symbolic_meta_outplace_addbmm_xpu_float64", - "test_dispatch_symbolic_meta_outplace_addmm_decomposed_xpu_complex", "test_dispatch_symbolic_meta_outplace_addmm_decomposed_xpu_float64", - "test_dispatch_symbolic_meta_outplace_addmm_xpu_complex", "test_dispatch_symbolic_meta_outplace_addmm_xpu_float64", - "test_dispatch_symbolic_meta_outplace_addmv_xpu_complex", "test_dispatch_symbolic_meta_outplace_addmv_xpu_float64", - "test_dispatch_symbolic_meta_outplace_baddbmm_xpu_complex", "test_dispatch_symbolic_meta_outplace_baddbmm_xpu_float64", - "test_dispatch_symbolic_meta_outplace_bmm_xpu_complex", "test_dispatch_symbolic_meta_outplace_bmm_xpu_float64", "test_dispatch_symbolic_meta_outplace_cdist_xpu_float64", - "test_dispatch_symbolic_meta_outplace_cholesky_inverse_xpu_complex", "test_dispatch_symbolic_meta_outplace_cholesky_inverse_xpu_float64", - "test_dispatch_symbolic_meta_outplace_cholesky_solve_xpu_complex", "test_dispatch_symbolic_meta_outplace_cholesky_solve_xpu_float64", - "test_dispatch_symbolic_meta_outplace_cholesky_xpu_complex", "test_dispatch_symbolic_meta_outplace_cholesky_xpu_float64", - "test_dispatch_symbolic_meta_outplace_corrcoef_xpu_complex", "test_dispatch_symbolic_meta_outplace_corrcoef_xpu_float64", - "test_dispatch_symbolic_meta_outplace_cov_xpu_complex", "test_dispatch_symbolic_meta_outplace_cov_xpu_float64", - "test_dispatch_symbolic_meta_outplace_einsum_xpu_complex", "test_dispatch_symbolic_meta_outplace_einsum_xpu_float64", - "test_dispatch_symbolic_meta_outplace_geqrf_xpu_complex", "test_dispatch_symbolic_meta_outplace_geqrf_xpu_float64", - "test_dispatch_symbolic_meta_outplace_inner_xpu_complex", "test_dispatch_symbolic_meta_outplace_inner_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_cholesky_ex_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_cholesky_ex_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_cholesky_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_cholesky_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_det_xpu_complex", - "test_dispatch_symbolic_meta_outplace_linalg_eig_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_eig_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_eigh_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_eigh_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_eigvals_xpu_complex", - "test_dispatch_symbolic_meta_outplace_linalg_eigvalsh_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_eigvalsh_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_inv_ex_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_inv_ex_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_inv_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_inv_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_ldl_factor_ex_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_ldl_factor_ex_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_ldl_factor_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_ldl_factor_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_ldl_solve_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_ldl_solve_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_lstsq_grad_oriented_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_lstsq_grad_oriented_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_lstsq_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_lstsq_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_lu_factor_xpu_complex", - "test_dispatch_symbolic_meta_outplace_linalg_lu_solve_xpu_complex", - "test_dispatch_symbolic_meta_outplace_linalg_matrix_power_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_matrix_power_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_matrix_rank_hermitian_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_matrix_rank_hermitian_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_matrix_rank_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_matrix_rank_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_multi_dot_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_multi_dot_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_pinv_hermitian_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_pinv_hermitian_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_pinv_singular_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_pinv_singular_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_pinv_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_pinv_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_qr_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_qr_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_slogdet_xpu_complex", - "test_dispatch_symbolic_meta_outplace_linalg_solve_ex_xpu_complex", - "test_dispatch_symbolic_meta_outplace_linalg_solve_xpu_complex", - "test_dispatch_symbolic_meta_outplace_linalg_svd_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_svd_xpu_float64", - "test_dispatch_symbolic_meta_outplace_linalg_tensorinv_xpu_complex", "test_dispatch_symbolic_meta_outplace_linalg_tensorinv_xpu_float64", - "test_dispatch_symbolic_meta_outplace_logdet_xpu_complex", "test_dispatch_symbolic_meta_outplace_logdet_xpu_float64", - "test_dispatch_symbolic_meta_outplace_lu_solve_xpu_complex", - "test_dispatch_symbolic_meta_outplace_lu_xpu_complex", "test_dispatch_symbolic_meta_outplace_lu_xpu_float64", - "test_dispatch_symbolic_meta_outplace_matmul_xpu_complex", "test_dispatch_symbolic_meta_outplace_matmul_xpu_float64", - "test_dispatch_symbolic_meta_outplace_mm_xpu_complex", "test_dispatch_symbolic_meta_outplace_mm_xpu_float64", - "test_dispatch_symbolic_meta_outplace_mv_xpu_complex", "test_dispatch_symbolic_meta_outplace_mv_xpu_float64", "test_dispatch_symbolic_meta_outplace_nn_functional_bilinear_xpu_float64", - "test_dispatch_symbolic_meta_outplace_nn_functional_linear_xpu_complex", "test_dispatch_symbolic_meta_outplace_nn_functional_linear_xpu_float64", "test_dispatch_symbolic_meta_outplace_nn_functional_multi_head_attention_forward_xpu_float64", "test_dispatch_symbolic_meta_outplace_nn_functional_scaled_dot_product_attention_xpu_float64", - "test_dispatch_symbolic_meta_outplace_pca_lowrank_xpu_complex", "test_dispatch_symbolic_meta_outplace_pca_lowrank_xpu_float64", - "test_dispatch_symbolic_meta_outplace_pinverse_xpu_complex", "test_dispatch_symbolic_meta_outplace_pinverse_xpu_float64", - "test_dispatch_symbolic_meta_outplace_qr_xpu_complex", "test_dispatch_symbolic_meta_outplace_qr_xpu_float64", - "test_dispatch_symbolic_meta_outplace_svd_lowrank_xpu_complex", "test_dispatch_symbolic_meta_outplace_svd_lowrank_xpu_float64", - "test_dispatch_symbolic_meta_outplace_svd_xpu_complex", "test_dispatch_symbolic_meta_outplace_svd_xpu_float64", - "test_dispatch_symbolic_meta_outplace_tensordot_xpu_complex", "test_dispatch_symbolic_meta_outplace_tensordot_xpu_float64", - "test_dispatch_symbolic_meta_outplace_triangular_solve_xpu_complex", "test_dispatch_symbolic_meta_outplace_triangular_solve_xpu_float64", "test_meta_inplace_addbmm_xpu_float64", - "test_meta_inplace_addmm_decomposed_xpu_complex", "test_meta_inplace_addmm_decomposed_xpu_float64", - "test_meta_inplace_addmm_xpu_complex", "test_meta_inplace_addmm_xpu_float64", - "test_meta_inplace_addmv_xpu_complex", "test_meta_inplace_addmv_xpu_float64", - "test_meta_inplace_baddbmm_xpu_complex", "test_meta_inplace_baddbmm_xpu_float64", - "test_meta_outplace___rmatmul___xpu_complex", "test_meta_outplace___rmatmul___xpu_float64", "test_meta_outplace_addbmm_xpu_float64", - "test_meta_outplace_addmm_decomposed_xpu_complex", "test_meta_outplace_addmm_decomposed_xpu_float64", - "test_meta_outplace_addmm_xpu_complex", "test_meta_outplace_addmm_xpu_float64", - "test_meta_outplace_addmv_xpu_complex", "test_meta_outplace_addmv_xpu_float64", - "test_meta_outplace_baddbmm_xpu_complex", "test_meta_outplace_baddbmm_xpu_float64", - "test_meta_outplace_bmm_xpu_complex", "test_meta_outplace_bmm_xpu_float64", "test_meta_outplace_cdist_xpu_float64", - "test_meta_outplace_cholesky_inverse_xpu_complex", "test_meta_outplace_cholesky_inverse_xpu_float64", - "test_meta_outplace_cholesky_solve_xpu_complex", "test_meta_outplace_cholesky_solve_xpu_float64", - "test_meta_outplace_cholesky_xpu_complex", "test_meta_outplace_cholesky_xpu_float64", - "test_meta_outplace_corrcoef_xpu_complex", "test_meta_outplace_corrcoef_xpu_float64", - "test_meta_outplace_cov_xpu_complex", "test_meta_outplace_cov_xpu_float64", - "test_meta_outplace_einsum_xpu_complex", "test_meta_outplace_einsum_xpu_float64", - "test_meta_outplace_geqrf_xpu_complex", "test_meta_outplace_geqrf_xpu_float64", - "test_meta_outplace_inner_xpu_complex", "test_meta_outplace_inner_xpu_float64", - "test_meta_outplace_linalg_cholesky_ex_xpu_complex", "test_meta_outplace_linalg_cholesky_ex_xpu_float64", - "test_meta_outplace_linalg_cholesky_xpu_complex", "test_meta_outplace_linalg_cholesky_xpu_float64", - "test_meta_outplace_linalg_det_xpu_complex", - "test_meta_outplace_linalg_eig_xpu_complex", "test_meta_outplace_linalg_eig_xpu_float64", - "test_meta_outplace_linalg_eigh_xpu_complex", "test_meta_outplace_linalg_eigh_xpu_float64", - "test_meta_outplace_linalg_eigvals_xpu_complex", - "test_meta_outplace_linalg_eigvalsh_xpu_complex", "test_meta_outplace_linalg_eigvalsh_xpu_float64", - "test_meta_outplace_linalg_inv_ex_xpu_complex", "test_meta_outplace_linalg_inv_ex_xpu_float64", - "test_meta_outplace_linalg_inv_xpu_complex", "test_meta_outplace_linalg_inv_xpu_float64", - "test_meta_outplace_linalg_ldl_factor_ex_xpu_complex", "test_meta_outplace_linalg_ldl_factor_ex_xpu_float64", - "test_meta_outplace_linalg_ldl_factor_xpu_complex", "test_meta_outplace_linalg_ldl_factor_xpu_float64", - "test_meta_outplace_linalg_ldl_solve_xpu_complex", "test_meta_outplace_linalg_ldl_solve_xpu_float64", - "test_meta_outplace_linalg_lstsq_grad_oriented_xpu_complex", "test_meta_outplace_linalg_lstsq_grad_oriented_xpu_float64", - "test_meta_outplace_linalg_lstsq_xpu_complex", "test_meta_outplace_linalg_lstsq_xpu_float64", - "test_meta_outplace_linalg_lu_factor_xpu_complex", - "test_meta_outplace_linalg_lu_solve_xpu_complex", - "test_meta_outplace_linalg_matrix_power_xpu_complex", "test_meta_outplace_linalg_matrix_power_xpu_float64", - "test_meta_outplace_linalg_matrix_rank_hermitian_xpu_complex", "test_meta_outplace_linalg_matrix_rank_hermitian_xpu_float64", - "test_meta_outplace_linalg_matrix_rank_xpu_complex", "test_meta_outplace_linalg_matrix_rank_xpu_float64", - "test_meta_outplace_linalg_multi_dot_xpu_complex", "test_meta_outplace_linalg_multi_dot_xpu_float64", - "test_meta_outplace_linalg_pinv_hermitian_xpu_complex", "test_meta_outplace_linalg_pinv_hermitian_xpu_float64", - "test_meta_outplace_linalg_pinv_singular_xpu_complex", "test_meta_outplace_linalg_pinv_singular_xpu_float64", - "test_meta_outplace_linalg_pinv_xpu_complex", "test_meta_outplace_linalg_pinv_xpu_float64", - "test_meta_outplace_linalg_qr_xpu_complex", "test_meta_outplace_linalg_qr_xpu_float64", - "test_meta_outplace_linalg_slogdet_xpu_complex", - "test_meta_outplace_linalg_solve_ex_xpu_complex", - "test_meta_outplace_linalg_solve_xpu_complex", - "test_meta_outplace_linalg_svd_xpu_complex", "test_meta_outplace_linalg_svd_xpu_float64", - "test_meta_outplace_linalg_tensorinv_xpu_complex", "test_meta_outplace_linalg_tensorinv_xpu_float64", - "test_meta_outplace_logdet_xpu_complex", "test_meta_outplace_logdet_xpu_float64", - "test_meta_outplace_lu_solve_xpu_complex", - "test_meta_outplace_lu_xpu_complex", "test_meta_outplace_lu_xpu_float64", - "test_meta_outplace_matmul_xpu_complex", "test_meta_outplace_matmul_xpu_float64", - "test_meta_outplace_mm_xpu_complex", "test_meta_outplace_mm_xpu_float64", - "test_meta_outplace_mv_xpu_complex", "test_meta_outplace_mv_xpu_float64", "test_meta_outplace_nn_functional_bilinear_xpu_float64", - "test_meta_outplace_nn_functional_linear_xpu_complex", "test_meta_outplace_nn_functional_linear_xpu_float64", "test_meta_outplace_nn_functional_multi_head_attention_forward_xpu_float64", "test_meta_outplace_nn_functional_scaled_dot_product_attention_xpu_float64", - "test_meta_outplace_pca_lowrank_xpu_complex", "test_meta_outplace_pca_lowrank_xpu_float64", - "test_meta_outplace_pinverse_xpu_complex", "test_meta_outplace_pinverse_xpu_float64", - "test_meta_outplace_qr_xpu_complex", "test_meta_outplace_qr_xpu_float64", - "test_meta_outplace_svd_lowrank_xpu_complex", "test_meta_outplace_svd_lowrank_xpu_float64", - "test_meta_outplace_svd_xpu_complex", "test_meta_outplace_svd_xpu_float64", - "test_meta_outplace_tensordot_xpu_complex", "test_meta_outplace_tensordot_xpu_float64", - "test_meta_outplace_triangular_solve_xpu_complex", "test_meta_outplace_triangular_solve_xpu_float64", # RuntimeError: Short is not supported in oneDNN! "test_dispatch_meta_inplace_addbmm_xpu_int16", @@ -2994,7 +2083,7 @@ "test_distributions_xpu.py": None, "test_optim_xpu.py": ( # oneDNN issues - # RuntimeError: Double and complex datatype matmul is not supported in oneDNN + # RuntimeError: Double datatype matmul is not supported in oneDNN "test_foreach_matches_forloop_ASGD_xpu_float64", "test_foreach_matches_forloop_Adadelta_xpu_float64", "test_foreach_matches_forloop_Adafactor_xpu_float64",