发明名称 OPTIMIZING MEMORY BANDWIDTH CONSUMPTION USING DATA SPLITTING WITH SOFTWARE CACHING
摘要 A computer processor collects information for a dominant data access loop and reference code patterns based on data reference pattern analysis, and for pointer aliasing and data shape based on pointer escape analysis. The computer processor selects a candidate array for data splitting wherein the candidate array is referenced by a dominant data access loop. The computer processor determines a data splitting mode by which to split the data of the candidate array, based on the reference code patterns, the pointer aliasing, and the data shape information, and splits the data into two or more split arrays. The computer processor creates a software cache that includes a portion of the data of the two or more split arrays in a transposed format, and maintains the portion of the transposed data within the software cache and consults the software cache during an access of the split arrays.
申请公布号 US2015067268(A1) 申请公布日期 2015.03.05
申请号 US201414304220 申请日期 2014.06.13
申请人 INTERNATIONAL BUSINESS MACHINES CORPORATION 发明人 Barton Christopher M.;Cui Shimin;Sadasivam Satish K.;Silvera Raul E.;Valluri Madhavi G.;White Steven W.
分类号 G06F12/08 主分类号 G06F12/08
代理机构 代理人
主权项 1. A method for data splitting of an array using a software cache, the method comprising: collecting information for a dominant data access loop and reference code patterns based on data reference pattern analysis, and for pointer aliasing and data shape based on pointer escape analysis; selecting a candidate array for data splitting based on the reference code patterns, the pointer aliasing, and the data shape information, wherein the candidate array is referenced by a dominant data access loop; determining a data splitting mode by which to split the data of the candidate array, based on the reference code patterns, the pointer aliasing, and the data shape information; splitting the data of the candidate array into two or more split arrays, based on the reference code pattern; and creating a software cache wherein the software cache includes a portion of the data of the two or more split arrays in a transposed format; and storing the portion of the data of the two or more split arrays in the transposed format within the software cache and consulting the software cache during an access of the two or more split arrays.
地址 Armonk NY US