https://hal.inria.fr/hal-01054958Xu, YunYunXuSchool of Computer Science and Technology - USTC - University of Science and Technology of China [Hefei]Anhui Province Key Laboratory of High Performance Computing - Anhui Province Key Laboratory of High Performance ComputingShao, MingzhiMingzhiShaoSchool of Computer Science and Technology - USTC - University of Science and Technology of China [Hefei]Anhui Province Key Laboratory of High Performance Computing - Anhui Province Key Laboratory of High Performance ComputingTeng, DaDaTengSchool of Computer Science and Technology - USTC - University of Science and Technology of China [Hefei]Anhui Province Key Laboratory of High Performance Computing - Anhui Province Key Laboratory of High Performance ComputingOptimization of Triangular Matrix Functions in BLAS Library on Loongson2FHAL CCSD2010BLASATLAStriangular matrix functionloop unrollingdata pre-fetching[INFO.INFO-DL] Computer Science [cs]/Digital Libraries [cs.DL]Ifip, HalChen Ding; Zhiyuan Shao; Ran Zheng2014-08-11 09:51:002017-08-11 17:44:242014-08-11 15:51:37enConference papershttps://hal.inria.fr/hal-01054958/document10.1007/978-3-642-15672-4_5application/pdf1BLAS (Basic Linear Algebra Subprograms) plays a very important role in scientific computing and engineering applications. ATLAS is often recommended as a way to generate an optimized BLAS library. Based on ATLAS, this paper optimizes the algorithms of triangular matrix functions on 750 MHZ Loongson 2F processor-specific architecture. Using loop unrolling, instruction scheduling and data pre-fetching techniques, computing time and memory access delay are both reduced, and thus the performance of functions is improved. Experimental results indicate that these optimization techniques can effectively reduce the running time of functions. After optimization, double-precision type function of TRSM has the speed of 1300Mflops, while single-precision type function has the speed of 1800Mflops. Compared with ATLAS, the performance of function TRSM is improved by 50% to 60%, even by 100% to 200% under small-scale input.