HIGH-BANDWIDTH PREFETCHER FOR HIGH-BANDWIDTH MEMORY

    公开(公告)号:US20190163637A9

    公开(公告)日:2019-05-30

    申请号:US15913749

    申请日:2018-03-06

    Applicant: Cray Inc.

    Abstract: A method for prefetching data into a cache is provided. The method allocates an outstanding request buffer (“ORB”). The method stores in an address field of the ORB an address and a number of blocks. The method issues prefetch requests for a degree number of blocks starting at the address. When a prefetch response is received for all the prefetch requests, the method adjusts the address of the next block to prefetch and adjusts the number of blocks remaining to be retrieved and then issues prefetch requests for a degree number of blocks starting at the adjusted address. The prefetching pauses when a maximum distance between the reads of the prefetched blocks and the last prefetched block is reached. When a read request for a prefetched block is received, the method resumes prefetching when a resume criterion is satisfied.

    High-bandwidth prefetcher for high-bandwidth memory

    公开(公告)号:US10303610B2

    公开(公告)日:2019-05-28

    申请号:US15913749

    申请日:2018-03-06

    Applicant: Cray Inc.

    Abstract: A method for prefetching data into a cache is provided. The method allocates an outstanding request buffer (“ORB”). The method stores in an address field of the ORB an address and a number of blocks. The method issues prefetch requests for a degree number of blocks starting at the address. When a prefetch response is received for all the prefetch requests, the method adjusts the address of the next block to prefetch and adjusts the number of blocks remaining to be retrieved and then issues prefetch requests for a degree number of blocks starting at the adjusted address. The prefetching pauses when a maximum distance between the reads of the prefetched blocks and the last prefetched block is reached. When a read request for a prefetched block is received, the method resumes prefetching when a resume criterion is satisfied.

    Method and apparatus for front end gather/scatter memory coalescing

    公开(公告)号:US11567767B2

    公开(公告)日:2023-01-31

    申请号:US16944141

    申请日:2020-07-30

    Abstract: A system for processing gather and scatter instructions can implement a front-end subsystem, a back-end subsystem, or both. The front-end subsystem includes a prediction unit configured to determine a predicted quantity of coalesced memory access operations required by an instruction. A decode unit converts the instruction into a plurality of access operations based on the predicted quantity, and transmits the plurality of access operations and an indication of the predicted quantity to an issue queue. The back-end subsystem includes a load-store unit that receives a plurality of access operations corresponding to an instruction, determines a subset of the plurality of access operations that can be coalesced, and forms a coalesced memory access operation from the subset. A queue stores multiple memory addresses for a given load-store entry to provide for execution of coalesced memory accesses.

    HIGH-BANDWIDTH PREFETCHER FOR HIGH-BANDWIDTH MEMORY

    公开(公告)号:US20190042435A1

    公开(公告)日:2019-02-07

    申请号:US15913749

    申请日:2018-03-06

    Applicant: Cray Inc.

    Abstract: A method for prefetching data into a cache is provided. The method allocates an outstanding request buffer (“ORB”). The method stores in an address field of the ORB an address and a number of blocks. The method issues prefetch requests for a degree number of blocks starting at the address. When a prefetch response is received for all the prefetch requests, the method adjusts the address of the next block to prefetch and adjusts the number of blocks remaining to be retrieved and then issues prefetch requests for a degree number of blocks starting at the adjusted address. The prefetching pauses when a maximum distance between the reads of the prefetched blocks and the last prefetched block is reached. When a read request for a prefetched block is received, the method resumes prefetching when a resume criterion is satisfied.

    Memory allocation system for multi-tier memory

    公开(公告)号:US10185659B2

    公开(公告)日:2019-01-22

    申请号:US15374114

    申请日:2016-12-09

    Applicant: Cray, Inc.

    Abstract: A system is provided for allocating memory for data of a program for execution by a computer system with a multi-tier memory that includes LBM and HBM. The system accesses a data structure map that maps data structures of the program to the memory addresses within an address space of the program to which the data structures are initially allocated. The system executes the program to collect statistics relating to memory requests and memory bandwidth utilization of the program. The system determines an extent to which each data structure is used by a high memory utilization portion of the program based on the data structure map and the collected statistics. The system generates a memory allocation plan that favors allocating data structures in HBM based on the extent to which the data structures are used by a high memory utilization portion of the program.

    MEMORY ALLOCATION SYSTEM FOR MULTI-TIER MEMORY

    公开(公告)号:US20180322064A1

    公开(公告)日:2018-11-08

    申请号:US16034216

    申请日:2018-07-12

    Applicant: Cray, Inc.

    Abstract: A system is provided for allocating memory for data of a program for execution by a computer system with a multi-tier memory that includes LBM and HBM. The system accesses a data structure map that maps data structures of the program to the memory addresses within an address space of the program to which the data structures are initially allocated. The system executes the program to collect statistics relating to memory requests and memory bandwidth utilization of the program. The system determines an extent to which each data structure is used by a high memory utilization portion of the program based on the data structure map and the collected statistics. The system generates a memory allocation plan that favors allocating data structures in HBM based on the extent to which the data structures are used by a high memory utilization portion of the program.

    High-bandwidth prefetcher for high-bandwidth memory

    公开(公告)号:US09946654B2

    公开(公告)日:2018-04-17

    申请号:US15335041

    申请日:2016-10-26

    Applicant: Cray Inc.

    CPC classification number: G06F12/0862 G06F12/1054 G06F2212/602 G06F2212/68

    Abstract: A method for prefetching data into a cache is provided. The method allocates an outstanding request buffer (“ORB”). The method stores in an address field of the ORB an address and a number of blocks. The method issues prefetch requests for a degree number of blocks starting at the address. When a prefetch response is received for all the prefetch requests, the method adjusts the address of the next block to prefetch and adjusts the number of blocks remaining to be retrieved and then issues prefetch requests for a degree number of blocks starting at the adjusted address. The prefetching pauses when a maximum distance between the reads of the prefetched blocks and the last prefetched block is reached. When a read request for a prefetched block is received, the method resumes prefetching when a resume criterion is satisfied.

    HIGH-BANDWIDTH PREFETCHER FOR HIGH-BANDWIDTH MEMORY

    公开(公告)号:US20180074963A1

    公开(公告)日:2018-03-15

    申请号:US15335041

    申请日:2016-10-26

    Applicant: Cray Inc.

    CPC classification number: G06F12/0862 G06F12/1054 G06F2212/602 G06F2212/68

    Abstract: A method for prefetching data into a cache is provided. The method allocates an outstanding request buffer (“ORB”). The method stores in an address field of the ORB an address and a number of blocks. The method issues prefetch requests for a degree number of blocks starting at the address. When a prefetch response is received for all the prefetch requests, the method adjusts the address of the next block to prefetch and adjusts the number of blocks remaining to be retrieved and then issues prefetch requests for a degree number of blocks starting at the adjusted address. The prefetching pauses when a maximum distance between the reads of the prefetched blocks and the last prefetched block is reached. When a read request for a prefetched block is received, the method resumes prefetching when a resume criterion is satisfied.

    Memory allocation system for multi-tier memory

    公开(公告)号:US10698813B2

    公开(公告)日:2020-06-30

    申请号:US16034216

    申请日:2018-07-12

    Applicant: Cray, Inc.

    Abstract: A system is provided for allocating memory for data of a program for execution by a computer system with a multi-tier memory that includes LBM and HBM. The system accesses a data structure map that maps data structures of the program to the memory addresses within an address space of the program to which the data structures are initially allocated. The system executes the program to collect statistics relating to memory requests and memory bandwidth utilization of the program. The system determines an extent to which each data structure is used by a high memory utilization portion of the program based on the data structure map and the collected statistics. The system generates a memory allocation plan that favors allocating data structures in HBM based on the extent to which the data structures are used by a high memory utilization portion of the program.

Patent Agency Ranking