Litcius/Paper detail

LIBSHALOM

Weiling Yang, Jianbin Fang, Dezun Dong, Xing Su, Zheng Wang

202137 citationsDOIOpen Access PDF

Abstract

General Matrix Multiplication (GEMM) is a key subroutine in highperformance computing. While the mainstream linear algebra libraries can deliver high performance on large and regular-shaped GEMM, they are inadequate for optimizing small and irregular-shaped GEMMs, which are commonly seen in new HPC applications. Some of the recent works in this direction have made promising progress on x86 architectures and GPUs but still leave much room for improvement on emerging HPC hardware built upon the ARMv8 architecture. We present LibShalom, an open-source library for optimizing small and irregular-shaped GEMMs, explicitly targeting the ARMv8 architecture. LibShalom builds upon the classical Goto algorithm but tailors it to minimize the expensive memory accessing overhead for data packing and processing small matrices. It uses analytic methods to determine GEMM kernel optimization parameters, enhancing the computation and parallelization efficiency of the GEMM kernels. We evaluate LibShalom by applying it to three ARMv8 multi-core architectures and comparing it against five mainstream linear algebra libraries. Experimental results show that LibShalom can consistently outperform existing solutions across GEMM workloads and hardware architectures.

Topics & Concepts

Computer scienceParallel computingx86Kernel (algebra)Linear algebraOverhead (engineering)SubroutineComputationConvolution (computer science)Computer architectureComputational scienceProgramming languageSoftwareArtificial intelligenceMathematicsGeometryArtificial neural networkCombinatoricsParallel Computing and Optimization TechniquesDistributed and Parallel Computing SystemsStochastic Gradient Optimization Techniques