The invention discloses a
sparse matrix-vector multiplication acceleration method for a
dawn-
bathing GPU, and belongs to the field of high-performance calculation. The method comprises the following steps: acquiring a
sparse matrix A and a vector x in a CSR format; dividing A into 16 * 16 sub-blocks Tile according to the width of an
operand of a Xichen GPU matrix multiplied instruction, and making a proportion eta < lt > for non-zero elements; a CSR sub-matrix rowbase
list is generated by 10% of Tiles, and a Tile-Dense sub-matrix block base
list is generated by the rest of the Tiles; rows of the CSR sub-matrix are divided into light rows, medium rows and weight rows according to the number of non-zero elements, three-level protocols are completed in the same GPU kernel through Thread Block Tile, on-
chip shared memory and global memory atomic operation, and ycsr is obtained; an mfma instruction is called for the Tile-Dense sub-matrix, and accumulation is carried out to obtain ytile; and finally, accumulating the ycsr and the ytile according to rows to output a result y. According to the method, an mcSPARSI interface can be replaced in a binary level, and load unbalance is relieved and the
matrix multiplication instruction
utilization rate is improved on the premise that an upper frame is not changed.