Abstract:
An apparatus and method are described for implementing memory management in a graphics processing system. For example, one embodiment of an apparatus comprises: a first plurality of graphics processing resources to execute graphics commands and process graphics data; a first memory management unit (MMU) to communicatively couple the first plurality of graphics processing resources to a system-level MMU to access a system memory; a second plurality of graphics processing resources to execute graphics commands and process graphics data; a second MMU to communicatively couple the second plurality of graphics processing resources to the first MMU; wherein the first MMU is configured as a master MMU having a direct connection to the system-level MMU and the second MMU comprises a slave MMU configured to send memory transactions to the first MMU, the first MMU either servicing a memory transaction or sending the memory transaction to the system-level MMU on behalf of the second MMU.
Abstract:
An apparatus to facilitate data prefetching is disclosed. The apparatus includes a memory, one or more execution units (EUs) to execute a plurality of processing threads and prefetch logic to prefetch pages of data from the memory to assist in the execution of the plurality of processing threads.
Abstract:
Embodiments described herein provide techniques enable a compute unit to continue processing operations when all dispatched threads are blocked. One embodiment provides for an apparatus comprising a thread dispatcher to dispatch a thread for execution; a compute unit having a single instruction, multiple thread architecture, the compute unit to execute multiple concurrent threads; and a memory coupled with the compute unit, the memory to store thread state for a suspended thread, wherein the compute unit is to: detect that all threads on the compute unit are blocked from execution, select a victim thread from the multiple concurrent threads, suspend the victim thread, store thread state of the victim thread to the memory, and replace the victim thread with an additional thread to be executed.
Abstract:
One embodiment provides for a general-purpose graphics processing unit comprising a compute cluster including multiple compute units, a stall notification module to detect that one or more compute units in the compute cluster are stalled and send stall notification, and a rebalance module to receive the stall notification, the rebalance module to migrate a first workload from one or more stalled compute units in response to the stall notification.
Abstract:
Generally, this disclosure describes systems (and methods) of moderating interrupts in a virtualization environment. An overflow interval is defined. The overflow interrupt interval is used to trigger activation of an inactive guest so that the guest may respond to a critical event. The guest, including a network application, may be active for a first time interval and inactive for a second time interval. A latency interrupt interval may be defined. The latency interrupt interval is configured for interrupt moderation when the network application associated with a packet flow is active, i.e., when the guest including the network application is active on a processor. Of course, many alternatives, variations, and modifications are possible without departing from this embodiment.
Abstract:
An apparatus and method are described for managing a virtual graphics processor unit (GPU). For example, one embodiment of an apparatus comprises: a dynamic addressing module to map portions of an address space required by the virtual machine to matching free address spaces of a host if such matching free address spaces are available, and to select non-matching address spaces for those portions of the address space required by the virtual machine which cannot be matched with free address spaces of the host; and a balloon module to perform address space ballooning (ASB) techniques for those portions of the address space required by the virtual machine which have been mapped to matching address spaces of the host; and address remapping logic to perform address remapping techniques for those portions of the address space required by the virtual machine which have not been mapped to matching address spaces of the host.
Abstract:
Systems and methods may provide for identifying an assigned address space of a virtual machine (VM), wherein the assigned address space is associated with a graphics memory. Additionally, the assigned address space may be ballooned to disable usage by the VM of a remaining address space in the graphics memory that is not assigned to the VM. In one example, a view of the assigned address space by the VM may be identical to a view of the assigned address space by a virtual machine monitor (VMM) associated with the VM.
Abstract:
Examples may include a remapping of sessions for a multi-threaded application that may be executed at a server or a client coupled to the server via a plurality of transmit control protocol (TCP) connections. Sessions may be remapped such that the multi-threaded application may expect to route sessions through a same TCP connection but the sessions are actually outputted via separate TCP connections.
Abstract:
Embodiments of apparatus, computer-implemented methods, systems, and computer-readable media are described herein for a virtual machine monitor. The virtual machine monitor may be configured to determine whether to schedule a virtual central processing unit of one of a plurality of virtual machines on a first physical processing unit of a plurality of physical processing units. Each virtual machine may have one or more virtual central processing units. The determination may be based at least in part on whether a context of the virtual central processing unit suggests a desired cache hit rate on one or more cache units of the apparatus by the first physical processing unit when operating the virtual central processing unit.
Abstract:
Systems and methods may provide for identifying an assigned address space of a virtual machine (VM), wherein the assigned address space is associated with a graphics memory. Additionally, the assigned address space may be ballooned to disable usage by the VM of a remaining address space in the graphics memory that is not assigned to the VM. In one example, a view of the assigned address space by the VM may be identical to a view of the assigned address space by a virtual machine monitor (VMM) associated with the VM.