Abstract:
A graphics client receives a frame, the frame comprising scene model data. A server load balancing factor and a prospective rendering factor is set. The frame is partitioned into a plurality of server bands based on the server load balancing factor and the prospective rendering factor. The server bands are distributed to a plurality of compute servers. Processed server bands are received from the compute servers. A processed frame is assembled based on the received processed server bands. The processed frame is transmitted for display to a user as an image.
Abstract:
An apparatus and method for efficient communication of producer/consumer buffer status are provided. With the apparatus and method, devices in a data processing system notify each other of updates to head and tail pointers of a shared buffer region when the devices perform operations on the shared buffer region using signal notification channels of the devices. Thus, when a producer device that produces data to the shared buffer region writes data to the shared buffer region, an update to the head pointer is written to a signal notification channel of a consumer device. When a consumer device reads data from the shared buffer region, the consumer device writes a tail pointer update to a signal notification channel of the producer device. In addition, channels may operate in a blocking mode so that the corresponding device is kept in a low power state until an update is received over the channel.
Abstract:
A method provides efficient dispatch/completion of an N Dimensional (ND) Range command in a data processing system (DPS). The method comprises: a compiler generating one or more commands from received program instructions; ND Range work processing (WP) logic determining when a command generated by the compiler will be implemented over an ND configuration of operands, where N is greater than one (1); automatically decomposing the ND configuration of operands into a one (1) dimension (1D) work element comprising P sequentially ordered work items that each represent one of the operands; placing the 1D work element within a command queue of the DPS; enabling sequential dispatching of 1D work items in ordered sequence from to one or more processing units; and generating an ND Range output by mapping the 1D work output result to an ND position corresponding to an original location of the operand represented by the 1D work item.
Abstract:
A method for displaying a three-dimensional scene in which some objects are blurred because of motion comprises the steps of categorising the objects in a scene into two sets, a first set containing objects to be blurred and a second set containing objects not to be blurred. The first set of objects is rendered directly to a first buffer, the render time period is then divided into a plurality of time slices and for each time slice each object in the second set is rendered to the first buffer, a scene is accumulated from the first buffer to an accumulation buffer to be displayed. Thus, static objects (non-blurred) are rendered only once and moving objects (blurred) are rendered over a series of time slices. Preferably the categorising step includes determining if a motion vector is associated with an object.
Abstract:
A system and method for generating an image that includes ray traced pixel data and rasterized pixel data is presented. A synergistic processing unit (SPU) uses a rendering algorithm to generate ray traced data for objects tha t require high-quality image rendering. The ray traced data is fragmented, whereby each fragment includes a ray traced pixel depth value and a ray trac ed pixel color value. A rasterizer compares ray traced pixel depth values to corresponding rasterized pixel depth values, and overwrites ray traced pixel data with rasterized pixel data when the corresponding rasterized fragment i s "closer" to a viewing point, which results in composite data. A display subsystem uses the resultant composite data to generate an image on a user's display.
Abstract:
Ein Datenverarbeitungssystem enthält mehrere Prozessorkerne oder ist mit diesen verbunden. Jedes von mehreren Speicherobjekten kann mit Arbeitsobjekten bestückt werden und kann Attributen zugeordnet sein, die Informationen enthalten können, die verwendet werden können, um Daten jedes Speicherobjekts zu beschreiben und/oder die verwendet werden können, um Daten jedes Speicherobjekts zu verarbeiten. Die Attribute können verwendet werden, um u. a. eine Cache-Speicher-Richtlinie und/oder eine Cache-Speicher-Größe und/oder eine Zeilengröße eines Cache-Speichers anzugeben. In einer oder mehreren Ausführungsformen können die Attribute als eine historische Angabe wie jedes Speicherobjekt verwendet wird, verwendet werden. Die Attribute können verwendet werden, um historische statistische Angaben des Cache-Speichers (z. B. eine Trefferrate, eine Verfehlrate usw.) anzugeben.
Abstract:
A data processing system includes or is coupled to multiple processor cores. Each of multiple memory objects can be populated with work items and can be associated with attributes that can include information which can be used to describe data of each memory object and/or which can be used to process data of each memory object. The attributes can be used to indicate one or more of a cache policy, a cache size, and a cache line size, among others. In one or more embodiments, the attributes can be used as a history of how each memory object is used. The attributes can be used to indicate cache history statistics (e.g., a hit rate, a miss rate, etc.).
Abstract:
Offengelegt werden ein Verfahren, ein System und ein Computerprogrammprodukt zum Betreiben eines Datenverarbeitungssystems, das mehrere Prozessorkerne enthalten oder mit mehreren Prozessorkernen verbunden sein kann. Bei einer oder mehreren bevorzugten Ausführungsformen der vorliegenden Erfindung kann ein Fehler festgestellt werden, während zwei oder mehrere Prozessorkerne eine aus zwei oder mehreren Arbeitseinheiten bestehende erste Gruppe verarbeiten, und der Fehler kann einer Anwendung durch ein Signal angezeigt werden. Die Anwendung kann einen Fortschrittszustand bei der Verarbeitung der zwei oder mehreren Arbeitseinheiten und mindestens eine Abhängigkeit von dem Fortschrittszustand feststellen. Bei einer oder mehreren bevorzugten Ausführungsformen der vorliegenden Erfindung kann die Terminierung einer zweiten Gruppe, die aus zwei oder mehreren Arbeitseinheiten besteht, welche zur Verarbeitung eingeplant sind, als Reaktion auf die Feststellung des Fehlers aufgehoben werden. Bei einer oder mehreren bevorzugten Ausführungsformen der vorliegenden Erfindung kann die Anwendung mindestens eine Arbeitseinheit, die den Fehler verursacht hat, verarbeiten, und die aus zwei oder mehreren Arbeitseinheiten bestehende zweite Gruppe kann zur Verarbeitung neu eingeplant werden.
Abstract:
Disclosed are a method, a system and a computer program product of operating a data processing system that can include or be coupled to multiple processor cores. In one or more preferred embodiments of the present invention, an error can be determined while two or more processor cores are processing a first group of two or more work items, and the error can be signaled to an application. The application can determine a state of progress of processing the two or more work items and at least one dependency from the state of progress. In one or more preferred embodiments of the present invention, a second group of two or more work items that are scheduled for processing can be unscheduled, in response to determining the error. In one or more preferred embodiments of the present invention, the application can process at least one work item that caused the error, and the second group of two or more work items can be rescheduled for processing.