Back to results
US 8,949,532 B1Granted
Automatic generation of cache-optimized code
AssigneeThe MathWorks, Inc.
InventorsDavid Koh, Murat Belge
Life of this patent
Estimating the term…
Abstract
A system receives cache conditions and software information related to a software application, and automatically generates an optimal cache management scheme for the software application based on the received cache conditions and software information.
Claims20
A method comprising:
- receiving information associated with an application,
- the receiving being performed by a computing device;
- receiving information associated with related sections of code of the application,
- the receiving the information associated with the related sections of the code of the application being performed by the computing device;
- aligning the related sections of the code of the application to one or more cache line boundaries,
- the aligning the related sections of the code of the application to the one or more cache line boundaries reducing thrashing with respect to a quantity of thrashing occurring absent aligning the related sections of the code of the application to the one or more cache line boundaries, and
- the aligning the related sections of the code of the application to the one or more cache line boundaries being performed by the computing device;
- grouping, based on align the related sections of the code of the application to the one or more cache line boundaries, the related sections of the code of the application to create grouped sections of code,
- the grouping being performed by the computing device;
- distributing the grouped sections of code to a section of memory,
- the distributing being performed by the computing device;
- determining one or more particular sections of the grouped sections of code,
- the determining being performed by the computing device;
- and
- performing, based on a size of the section of the memory, an operation on the determined one or more particular sections of the grouped sections of code,
- the performing being performed by the computing device.
13 more elements
A non-transitory computer-readable medium storing instructions, the instructions comprising:
- one or more instructions which, when executed by a processor, cause the processor to:
- receive information associated with an application;
- receive information associated with related sections of code of the application;
- align the related sections of code of the application to one or more cache line boundaries,
- the aligning the related sections of the code of the application to the one or more cache line boundaries reducing thrashing with respect to a quantity of thrashing occurring absent aligning the related sections of the code of the application to the one or more cache line boundaries;
- group, based on aligning the related sections of the code of the application to the one or more cache line boundaries, the related sections of the code of the application to create grouped sections of code;
- distribute the grouped sections of code to a section of memory;
- determine one or more particular sections of the grouped sections of code;
- and
- perform, based on a size of the section of the memory, an operation on the determined one or more particular sections of the grouped sections of code.
7 more elements
A device comprising:
- a memory to store instructions;
- and
- a processor to execute the instructions to:
- receive information associated with an application;
- receive information associated with related sections of code of the application;
- align the related sections of code of the application to one or more cache line boundaries,
- the aligning the related sections of the code of the application to the one or more cache line boundaries reducing thrashing with respect to a quantity of thrashing occurring absent aligning the related sections of the code of the application to the one or more cache line boundaries;
- group, based on aligning the related sections of the code of the application to the one or more cache line boundaries, the related sections of the code of the application to create grouped sections of code;
- distribute the grouped sections of code to a section of memory;
- determine one or more particular sections of the grouped sections of code;
- and
- perform, based on a size of the section of the memory, an operation on the determined one or more particular sections of the grouped sections of code.
9 more elements
Dependencies are inferred from the claim text.