A GEMM (general matrix-matrix multiplication) high-performance realization method based on a domestic SW 26010 many-core CPU

A dense matrix, realization method technology, applied in program control design, instrument, electrical digital data processing and other directions, can solve the problem of low performance, open source BLAS math library Shenwei many-core processor 26010 optimized, can not give full play to many-core computing Ability and other issues to achieve the effect of improving function performance

A dense matrix, realization method technology, applied in program control design, instrument, electrical digital data processing and other directions, can solve the problem of low performance, open source BLAS math library Shenwei many-core processor 26010 optimized, can not give full play to many-core computing Ability and other issues to achieve the effect of improving function performance

CN107168683AActive Publication Date: 2017-09-15INST OF SOFTWARE - CHINESE ACAD OF SCI +1

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • A GEMM (general matrix-matrix multiplication) high-performance realization method based on a domestic SW 26010 many-core CPU
  • A GEMM (general matrix-matrix multiplication) high-performance realization method based on a domestic SW 26010 many-core CPU
  • A GEMM (general matrix-matrix multiplication) high-performance realization method based on a domestic SW 26010 many-core CPU

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0036] The present invention will be described in detail below in conjunction with the accompanying drawings and embodiments.

[0037] Such as figure 1 As shown, the specific implementation adopts the three-level code framework of "interface interface layer-scheduling task scheduling layer-kernel assembly computing layer", which is described as follows:

[0038] (1) Interface interface layer function: This layer is a function interface, which checks the input parameters and returns an error code if an illegal parameter is judged; in addition, according to the accuracy and transposition of the input matrix A, B, call the corresponding scheduling Task scheduling layer function;

[0039] (2) Scheduling task scheduling layer function: It is called by the interface interface layer function, and calls the kernel assembly computing layer function. The updating order of the matrix C is controlled through the n-k-m three-layer loop, and the C sub-matrices are updated serially, with ...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

The invention provides a GEMM (general matrix-matrix multiplication) high-performance realization method based on a domestic SW 26010 many-core CPU. For a domestic SW many-core processor 26010, based on the platform characteristics of storage structures, memory access, hardware assembly lines and register level communication mechanisms, a matrix partitioning and inter-core data mapping method is optimized and a top-down there-level partitioning parallel block matrix multiplication algorithm is designed; a slave core computing resource data sharing method is designed based on the register level communication mechanisms, and a computing and memory access overlap double buffering strategy is designed by using a master-slave core asynchronous DMA data transmission mechanism; for a single slave core, a loop unrolling strategy and a software assembly line arrangement method are designed; function optimization is achieved by using a highly-efficient register partitioning mode and an SIMD vectoring and multiplication and addition instruction. Compared with a single-core open-source BLAS math library GotoBLAS, the function performance of the high-performance GEMM has an average speed-up ratio of 227. 94 and a highest speed-up ratio of 296.93.

Description

technical field [0001] The present invention relates to a high-performance implementation method of the basic linear algebra library BLAS (Basic Linear Algebra Subprograms) level3 function dense matrix multiplication operation GEMM (General matrix-matrix multiplication), especially a high-performance GEMM implementation based on the domestic Shenwei many-core platform architecture and optimization methods. Background technique [0002] As the underlying and basic matrix operation, dense matrix multiplication is widely used in the fields of scientific and engineering computing, so its performance is extremely demanding. BLAS is a basic linear algebra subroutine library, which mainly includes the basic operations of vectors and matrices. It is one of the most basic and important mathematical libraries. At present, most software related to matrix operations will call the BLAS library, and the world's supercomputer TOP500 ranking The bottom layer of the benchmark software LINPA...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
15 Sep 2017
Publication
CN107168683A
IPC
G06F9/302; G06F9/38
CPC
G06F9/3001; G06F9/3012; G06F9/3814; G06F9/3869; G06F9/3881; G06F9/3887; G06F9/3856
Inventors
杨超; 蒋丽娟