Cooperative parallel memory allocation
AssigneeNVIDIA Corporation
InventorHarold Carter Edwards
Life of this patent
Estimating the term…
Abstract
Apparatuses, systems, and techniques to perform multi-threaded memory allocation in parallel by one or more software programs being performed on a parallel processing unit (PPU), such as a graphics processing unit (GPU), or any other processing unit capable of supporting multi-threaded software execution. In at least one embodiment, one or more software programs expressed in part by code using an application programming interface for parallel computing, such as CUDA, perform allocation, search, and deallocation of memory efficiently and in parallel on a GPU.
Claims41
A processor comprising:
- one or more circuits to exclusively allocate one or more memory portions to one or more instruction threads based, at least in part, on a size of the one or more memory portions while another thread is able to allocate one or more other memory portions.
A system, comprising:
- one or more processors to exclusively allocate one or more memory portions to one or more instruction threads based, at least in part, on a size of the one or more memory portions while another thread is able to allocate one or more other memory portions.
A machine-readable medium having stored thereon an application programming interface (API), which if performed by one or more processors, cause the one or more processors to at least:
- exclusively allocate, by the API, one or more memory portions to one or more instruction threads based, at least in part, on a size of the one or more memory portions while another thread is able to allocate one or more other memory portions.
A method, comprising:
- exclusively allocating one or more memory portions to one or more instruction threads based, at least in part, on a size of the one or more memory portions while another thread is able to allocate one or more other memory portions.
Dependencies are inferred from the claim text.