Techniques for reducing accelerator-memory access costs in platforms with multiple memory channels
AssigneeIntel Corporation
InventorVinodh Gopal
Life of this patent
Estimating the term…
Loading patent…
AssigneeIntel Corporation
InventorVinodh Gopal
Estimating the term…
Methods and apparatus for reducing accelerator-memory access costs in platforms with multiple memory channels. The apparatus includes a computing platform having multiple accelerators and multiple memory devices accessed via a plurality of memory channels. Jobs are submitted via software running on the computing platform to access a function to be offloaded to an accelerator. Under the offloaded function, the accelerator accesses one or more buffers that collectively requiring access via multiple memory channels among the plurality of memory channels. Accelerators having an available instance of the function are identified, and an aggregate cost for accessing the one or more buffers via the multiple memory channels are calculated for each of the accelerators. The accelerator with the least aggregate cost is then selected to offload the function to. New Instruction Set Architecture (ISA) instructions are also disclosed to identify memory pages and memory channels used for buffers.
A method performed on a computing platform including a plurality of accelerators and a plurality of memory devices accessed by a plurality of memory channels, the method comprising:
A multi-socket computing platform having a Non-Uniform Memory Access (NUMA) Architecture, comprising:
A processor configured to be installed in a computing platform having a plurality of memory devices that are accessed by a plurality of memory channels and having an instruction set architecture (ISA) including an instruction having a first operand to store a pointer to a data structure in a first register, a second operand to store an address of a buffer spanning one or more memory pages in a second register, and a third operand to store a length of the buffer or a number of memory pages spanned by the buffer in a third register, wherein the instruction is configured, upon execution, to populate the data structure with data identifying, for each of the one or more memory pages, a memory channel used to access that memory page.
Dependencies are inferred from the claim text.