# Optimizing Lattice Basis Reduction Algorithm on ARM V8 Processors
## 1 Introduction  
The LLL algorithm, proposed by [PERSON], [PERSON], and [PERSON] [1], is a landmark algorithm in computational mathematics and cryptography. The emergence of the LLL algorithm, along with [PERSON]'s pioneering work in 1996 [2], laid a solid foundation for the development of lattice cryptography. In recent years, [PERSON] et al. [3] and [PERSON] et al. [4] have further emphasized the importance of in-depth studies of the LLL algorithm for the security assessment of modern cryptosystems. In thefields of machine learning [5] and quantum computing [6], the LLL algorithm has also made significant contributions. In the field of communication and signal processing, [PERSON] and [PERSON] [7] applied the LLL algorithm to the decoding of MIMO systems [8], significantly improving the performance of wireless communication systems. In the integer programming problem, [PERSON] and [PERSON] [9] demonstrated the functionality of the LLL algorithm. [PERSON] et al. [10] further extended its application in convex optimization problems, broadening the algorithm's application prospects in operations research. However, most of these applications use the basic functions of the LLL algorithm to solve application problems, without involving the different orthogonalization methods of the LLL algorithm or optimizing the algorithm itself. These studies present an important research direction for further improvement. Many variants of the LLL algorithm have been developed, such as BKZ [11; 12], progressive BKZ [13], L\({}^{2}\)[14], and other innovative algorithms [15]. These algorithms improve performance through various orthogonalisation methods, heuristic pruning, and block strategy techniques. Floating-point types are more suitable for large-scale computations, but rounding errors can affect the accuracy of high-dimensional lattices. The researchers solve this problem by using high-precision floating point, adaptive rounding, and multiple-precision libraries. Proposed Jacobi lattice-based statute algorithms [16; 17] and greedy LLL algorithms [18] promote algorithm adaptation through orthogonalisation methods tightly coupled with architecture and floating-point-type optimization. Due to hardware platform differences, some foreign numerical libraries and optimized instruction sets are difficult to fully adapt. The Phytium 2000+ is a high-performance processor based on the ARMv8 architecture with a 64-bit design, used primarily in high-performance computing and servers. It offers strong computing power, multi-core support, and efficient memory management, while being compatible with both 32-bit and 64-bit ARM applications. The algorithm performance can be improved by using the SIMD instruction set and low-level assembly of domestic platforms [19]. It is important to conduct research on customizing LLL algorithms based on the domestic Tianhe supercomputer. Recent studies have explored optimizations specific to the ARM V8 architecture, focusing on SIMD instruction sets, vectorization, and multi-core parallelism, which significantly improve computational efficiency in lattice-based algorithms [20]. In comparison, optimization efforts for x86 architectures, which focus on leveraging advanced vector instructions and cache management, have been widely studied [21]. Similarly, GPU-based approaches for lattice algorithms emphasize the parallel processing capabilities of GPUs, offering substantial speedup for large-scale lattice problems [22]. Based on the above background, this study focuses on the LLL algorithm based on double-precision-type Gram-Schmidt orthogonalisation in the NTL library. The main innovations of this paper include the following: SIMD vectorization and assembly optimization of the Gram-Schmidt orthogonalisation method, the row transformation part of the LLL_FP algorithm for double-precision floating point types on the architecture of the Phytium processor.