-
公开(公告)号:US10860293B2
公开(公告)日:2020-12-08
申请号:US16287564
申请日:2019-02-27
Applicant: Nvidia Corporation
Inventor: Jorge Albericio Latorre , Jeff Pool , David Garcia
IPC: G06F7/78 , G06F7/57 , G06N3/04 , G06F16/901 , G06F17/16
Abstract: Many computing systems process data organized in a matrix format. For example, artificial neural networks (ANNs) perform numerous computations on data organized into matrices using conventional matrix arithmetic operations. One such operation, which is commonly performed, is the transpose operation. Additionally, many such systems need to process many matrices and/or matrices that are large in size. For sparse matrices that hold few significant values and many values that can be ignored, transmitting and processing all the values in such matrices is wasteful. Thus, techniques are introduced for storing a sparse matrix in a compressed format that allows for a matrix transpose operation to be performed on the compressed matrix without having to first decompress the compressed matrix. By utilizing the introduced techniques, more matrix operations can be performed than conventional systems.
-
公开(公告)号:US20190278600A1
公开(公告)日:2019-09-12
申请号:US16247922
申请日:2019-01-15
Applicant: Nvidia Corporation
Inventor: Michael Alex Frumkin , Jeff Pool , Lung Sheng Chien
Abstract: Approaches in accordance with various embodiments provide for the processing of sparse matrices for mathematical and programmatic operations. In particular, various embodiments utilize a tiling approach that divides a sparse matrix into submatrices, many of which will include only zero-value entities. These empty tiles can be ignored, and only the tiles with non-zero entries processed, which reduces resource and time requirements for the processing. An indexing approach can be used for each entity that is a combination of the tile identifier and an offset value, which enables the values to be multiplied correctly against, for example, values of a dense matrix. The tiles can be processed in parallel and the results accumulated to generate a matrix product. The matrix product can then be passed to the next step in a process or operation, such as to a next layer in a deep neural network.
-
公开(公告)号:US10338820B2
公开(公告)日:2019-07-02
申请号:US15176082
申请日:2016-06-07
Applicant: NVIDIA Corporation
Inventor: Rouslan Dimitrov , Jeff Pool , Praveen Krishnamurthy , Chris Amsinck , Karan Mehra , Scott Cutler
Abstract: A system architecture conserves memory bandwidth by including compression utility to process data transfers from the cache into external memory. The cache decompresses transfers from external memory and transfers full format data to naive clients that lack decompression capability and directly transfers compressed data to savvy clients that include decompression capability. An improved compression algorithm includes software that computes the difference between the current data word and each of a number of prior data words. Software selects the prior data word with the smallest difference as the nearest match and encodes the bit width of the difference to this data word. Software then encodes the difference between the current stride and the closest previous stride. Software combines the stride, bit width, and difference to yield final encoded data word. Software may encode the stride of one data word as a value relative to the stride of a previous data word.
-
公开(公告)号:US11249727B2
公开(公告)日:2022-02-15
申请号:US17073512
申请日:2020-10-19
Applicant: Nvidia Corporation
Inventor: Jorge Albericio Latorre , Jeff Pool , David Garcia
IPC: G06F7/78 , G06F7/57 , G06N3/04 , G06F16/901 , G06F17/16
Abstract: Many computing systems process data organized in a matrix format. For example, artificial neural networks (ANNs) perform numerous computations on data organized into matrices using conventional matrix arithmetic operations. One such operation, which is commonly performed, is the transpose operation. Additionally, many such systems need to process many matrices and/or matrices that are large in size. For sparse matrices that hold few significant values and many values that can be ignored, transmitting and processing all the values in such matrices is wasteful. Thus, techniques are introduced for storing a sparse matrix in a compressed format that allows for a matrix transpose operation to be performed on the compressed matrix without having to first decompress the compressed matrix. By utilizing the introduced techniques, more matrix operations can be performed than conventional systems.
-
公开(公告)号:US20210034332A1
公开(公告)日:2021-02-04
申请号:US17073512
申请日:2020-10-19
Applicant: Nvidia Corporation
Inventor: Jorge Albericio Latorre , Jeff Pool , David Garcia
IPC: G06F7/78 , G06F7/57 , G06N3/04 , G06F16/901 , G06F17/16
Abstract: Many computing systems process data organized in a matrix format. For example, artificial neural networks (ANNs) perform numerous computations on data organized into matrices using conventional matrix arithmetic operations. One such operation, which is commonly performed, is the transpose operation. Additionally, many such systems need to process many matrices and/or matrices that are large in size. For sparse matrices that hold few significant values and many values that can be ignored, transmitting and processing all the values in such matrices is wasteful. Thus, techniques are introduced for storing a sparse matrix in a compressed format that allows for a matrix transpose operation to be performed on the compressed matrix without having to first decompress the compressed matrix. By utilizing the introduced techniques, more matrix operations can be performed than conventional systems.
-
公开(公告)号:US20200272425A1
公开(公告)日:2020-08-27
申请号:US16287564
申请日:2019-02-27
Applicant: Nvidia Corporation
Inventor: Jorge Albericio Latorre , Jeff Pool , David Garcia
IPC: G06F7/78 , G06F7/57 , G06F17/16 , G06F16/901 , G06N3/04
Abstract: Many computing systems process data organized in a matrix format. For example, artificial neural networks (ANNs) perform numerous computations on data organized into matrices using conventional matrix arithmetic operations. One such operation, which is commonly performed, is the transpose operation. Additionally, many such systems need to process many matrices and/or matrices that are large in size. For sparse matrices that hold few significant values and many values that can be ignored, transmitting and processing all the values in such matrices is wasteful. Thus, techniques are introduced for storing a sparse matrix in a compressed format that allows for a matrix transpose operation to be performed on the compressed matrix without having to first decompress the compressed matrix. By utilizing the introduced techniques, more matrix operations can be performed than conventional systems.
-
-
-
-
-