pytorch/cmake
maajidkhann 5a6ddbcc3b Extending the Pytorch vec backend for SVE (ARM) (#119571)
**Motivation:**
In Pytorch, Aten vectorization supports multiple platforms, including x86 and Arm, as well as multiple data types. It provides a generic implementation of Vector (Vec) type that allows the programmer to write code packing various primitives (such as floats) within 256bit & 512bits registers. It can be extended to support other ISAs easily by adding more VecISA sub-classes.

**Reference Link:** https://github.com/pytorch/pytorch/tree/main/aten/src/ATen/cpu/vec

**This PR:**

* Our goal with this contribution is to add support for SVE backend for Vec in the Aten vectorization for CPU backend which can be benefitted by any ARM architecture supported CPU's that supports SVE.

* More about SVE ISA for ARM: [https://developer.arm.com/Architectures/Scalable Vector Extensions](https://developer.arm.com/Architectures/Scalable%20Vector%20Extensions)

* We are using the ARM C Language Extensions for SVE (https://developer.arm.com/documentation/102699/0100/Optimizing-with-intrinsics ) to accelerate performance for various operators in the SVE backend for Vec.

* Currently we are adding support only for SVE ISA with the vector length of 256 bits (SVE 256). In future, we plan to extend this SVE support for other vector lengths as well.

Pull Request resolved: https://github.com/pytorch/pytorch/pull/119571
Approved by: https://github.com/malfet, https://github.com/snadampal

Co-authored-by: Divya Kotadiya <divya.kotadiya@fujitsu.com>
2024-09-18 18:59:10 +00:00
..
External [ROCm] Use AOTriton as a dynamic library (#129094) 2024-07-01 21:39:27 +00:00
Modules Extending the Pytorch vec backend for SVE (ARM) (#119571) 2024-09-18 18:59:10 +00:00
Modules_CUDA_fix
public SparseCsrCUDA: cuDSS backend for linalg.solve (#129856) 2024-08-22 07:57:30 +00:00
Allowlist.cmake
BuildVariables.cmake
Caffe2Config.cmake.in [Submodule] Remove third-party onnx-tensorrt (#126542) 2024-05-19 22:34:24 +00:00
CheckAbi.cmake
cmake_uninstall.cmake.in
Codegen.cmake Extending the Pytorch vec backend for SVE (ARM) (#119571) 2024-09-18 18:59:10 +00:00
DebugHelper.cmake
Dependencies.cmake [Windows][XPU] Disable Kineto PTI on Windows only (#134620) 2024-08-29 20:58:55 +00:00
FlatBuffers.cmake
GoogleTestPatch.cmake
IncludeSource.cpp.in
iOS.cmake
Metal.cmake
MiscCheck.cmake [Caffe2] Remove unused AVX512 code (#133160) 2024-08-23 23:16:16 +00:00
prioritized_text.txt
ProtoBuf.cmake
ProtoBufPatch.cmake
Summary.cmake SparseCsrCUDA: cuDSS backend for linalg.solve (#129856) 2024-08-22 07:57:30 +00:00
TorchConfig.cmake.in [Reland2] Update NVTX to NVTX3 (#109843) 2024-08-20 16:33:26 +00:00
TorchConfigVersion.cmake.in
VulkanCodegen.cmake [BE][CMake] Use FindPython module (#124613) 2024-05-29 13:17:35 +00:00
VulkanDependencies.cmake