pytorch/cmake
Aidyn-A 3e5b021f21 [ATen][CPU][Sparse] Use Third-Party Eigen for sparse add and addmm (#155357)
This pull request adds the following ops for sparse matrices using Eigen library:
```python
    add(a_csr, b_csr)
    add(a_csc, b_csc)

    addmm(c_csr, a_csr, b_csr)
    addmm(c_csr, a_csr, b_csc)
    addmm(c_csr, a_csc, b_csc)
    addmm(c_csr, a_csc, b_csr)

    addmm(c_csc, a_csr, b_csr)
    addmm(c_csc, a_csr, b_csc)
    addmm(c_csc, a_csc, b_csc)
    addmm(c_csc, a_csc, b_csr)
```

Currently, the operations for sparse matrices on CPU are available through MKL only. The non-existence of MKL on `aarch64` causes the unavailability of these ops on any machines with ARM based CPUs, including Apple Silicon, AWS Graviton and NVIDIA Grace. This PR addresses this issue by using Eigen as a backend for the above ops.

This is a re-factored version of my previous PR #101814. The main difference with the old one, this does not enable Eigen by default.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/155357
Approved by: https://github.com/pearu, https://github.com/eqy

Co-authored-by: Eli Uriegas <eliuriegas@meta.com>
2025-08-23 19:03:55 +00:00
..
External Enable MI355X PyTorch CI testing. (#158889) 2025-07-23 21:50:31 +00:00
Modules gloo: fix building system gloo with CUDA/HIP (#146637) 2025-08-06 22:56:31 +00:00
Modules_CUDA_fix [2/N] Remove FindPackageHandleStandardArgs.cmake (#156559) 2025-07-24 02:34:10 +00:00
public [ROCm][Windows] Fix LoadHIP handling of environment variable paths on Windows. (#159080) 2025-08-12 00:18:19 +00:00
Allowlist.cmake
BLAS_ABI.cmake [submodule] Bump fbgemm to latest (#158210) 2025-08-11 13:48:02 +00:00
BuildVariables.cmake
Caffe2Config.cmake.in xpu: improve error handling and reporting in XPU cmake files (#149353) 2025-03-20 02:00:39 +00:00
cmake_uninstall.cmake.in
Codegen.cmake Remove outdated CMAKE_CUDA_COMPILER_VERSION branch (#160075) 2025-08-09 14:23:17 +00:00
DebugHelper.cmake [BE] fix typos in cmake/ (#156079) 2025-06-17 19:25:43 +00:00
Dependencies.cmake [ATen][CPU][Sparse] Use Third-Party Eigen for sparse add and addmm (#155357) 2025-08-23 19:03:55 +00:00
FlatBuffers.cmake
IncludeSource.cpp.in
iOS.cmake [BE] fix typos in cmake/ (#156079) 2025-06-17 19:25:43 +00:00
Metal.cmake [Build] Allow metal shaders to include ATen headers (#156256) 2025-06-18 01:03:25 +00:00
MiscCheck.cmake [submodule] Bump fbgemm to latest (#158210) 2025-08-11 13:48:02 +00:00
prioritized_text.txt
ProtoBuf.cmake [Reland] Use 3.27 as the minimum CMake version (#154783) 2025-06-14 16:37:51 +00:00
ProtoBufPatch.cmake
Summary.cmake [ATen][CPU][Sparse] Use Third-Party Eigen for sparse add and addmm (#155357) 2025-08-23 19:03:55 +00:00
TorchConfig.cmake.in Revert "Simplify nvtx3 CMake handling, always use nvtx3 (#153784)" 2025-06-24 20:02:07 +00:00
TorchConfigVersion.cmake.in
VulkanCodegen.cmake
VulkanDependencies.cmake