Patent application number | Description | Published |
20100064291 | System and Method for Reducing Execution Divergence in Parallel Processing Architectures - A method for reducing execution divergence among a plurality of threads executable within a parallel processing architecture includes an operation of determining, among a plurality of data sets that function as operands for a plurality of different execution commands, a preferred execution type for the collective plurality of data sets. A data set is assigned from a data set pool to a thread which is to be executed by the parallel processing architecture, the assigned data set being of the preferred execution type, whereby the parallel processing architecture is operable to concurrently execute a plurality of threads, the plurality of concurrently executable threads including the thread having the assigned data set. An execution command for which the assigned data functions as an operand is applied to each of the plurality of threads. | 03-11-2010 |
20100077010 | System and Method For Identifying Entry Points of a Hierarchical Structure - A method for identifying entry points of a hierarchical structure having a plurality of nodes includes the operations selecting a node of a hierarchical structure and testing it for identification as an entry point. The node is identified as an entry point, and the selection, testing, and identification operations are repeated for at least one additional node of the hierarchical structure to identify at least a second node as a respective second entry point for the hierarchical structure. | 03-25-2010 |
20110142369 | System and Method for Constructing a Motion-Compensated Composite Image - A method for constructing a motion-compensated composite image of a scene includes acquiring a plurality of images of a scene over time, the plurality of images including an earlier-acquired image of the scene and a later-acquired image scene. The relative motion between the earlier and later acquired images are estimated, and an exposure parameter is computed based upon the estimated relative motion occurring between the earlier and later acquired images. A new image of the scene is acquired using the computed exposure parameter, and the earlier, later, and newly acquired images are combined to produce a motion-compensated composite image of the scene. | 06-16-2011 |
20110170557 | System and Method for Traversing a Treelet-Composed Hierarchical Structure - A method for performing node traversal operations of a treelet-composed hierarchical structure includes allocating a queue for each of the plurality of treelets, each queue operable to store ray-states entering a respective one of the treelets. The method additionally includes determining that a ray-state exits a first treelet of the hierarchical structure and enters a second treelet of the hierarchical structure. The method further includes forwarding the ray-state entering the second treelet to a processing element for processing therein, wherein the queue allocated to store ray-states entering the second treelet is bypassed. | 07-14-2011 |
20110170773 | System and Method for Estimating Signal-Dependent Noise of an Image - A method for estimating signal-dependent noise includes defining a plurality of pixel groups from among the image pixels. The method further includes computing, for one or more signal levels of the image, a difference value between two pixel groups, whereby a respective one or more difference values are computed collectively. The method determines an estimated noise response of the image as a function of the one or more computed difference values. | 07-14-2011 |
20120213450 | SYSTEM, METHOD, AND COMPUTER PROGRAM PRODUCT FOR REDUCING NOISE IN AN IMAGE USING DEPTH-BASED SWEEPING OVER IMAGE SAMPLES - A system, method, and computer program product are provided for reducing noise in an image using depth-based on sweeping over image samples. In use, each noisy pixel of an image having noise is identified. Additionally, for each noisy pixel, at least one sample included in each of a plurality of neighboring pixels to the noisy pixel is identified. Furthermore, the samples are swept over at least partially in a depth-based order to identify a value for the noisy pixel that reduces the noise. | 08-23-2012 |
20120327071 | Clipless Time and Lens Bounds for Improved Sample Test Efficiency in Image Rendering - A method for reducing the number of samples tested for rendering a screen space region of an image includes constructing a trajectory of a primitive extending in an image which is to be rendered. A bounding volume is constructed for a screen space region of the image, the bounding volume characterized as having a bound in a non-screen space dimension which is defined as a function of the primitive's trajectory. The bounding volume is further characterized as overlapping a portion of the screen space region which is to be rendered. One or more sample points which are located within the screen space region, and which are not overlapped by the bounding volume are excluded from testing. | 12-27-2012 |
Patent application number | Description | Published |
20140071129 | METHOD AND SYSTEM FOR GRAPHICS RENDERING EMPLOYING GRADIENT DOMAIN METROPOLIS LIGHT TRANSPORT - A method of generating an image. The method includes simulating a presence of at least one light source within a virtualized three dimensional space. Within the virtualized three dimensional space, a light sensing plane is defined. The light sensing plane includes a matrix of a number of pixels to be displayed on a display screen. The method further includes using a light transport procedure, computing a gradient value for each pixel of the matrix to produce a number of gradient values. The gradient computation involves selecting a plurality of light path pairs that contribute to a pixel wherein the selection is biased towards selection of more light paths that pass through pixels having larger gradient values. The plurality of gradient values are converted to a plurality of light intensity values which represent the image. | 03-13-2014 |
20140123150 | HARDWARE SCHEDULING OF ORDERED CRITICAL CODE SECTIONS - One embodiment sets forth a technique for scheduling the execution of ordered critical code sections by multiple threads. A multithreaded processor includes an instruction scheduling unit that is configured to schedule threads to process ordered critical code sections. A ordered critical code section is preceded by a barrier instruction and when all of the threads have reached the barrier instruction, the instruction scheduling unit controls the thread execution order by selecting each thread for execution based on logical identifiers associated with the threads. The logical identifiers are mapped to physical identifiers that are referenced by the multithreaded processor during execution of the threads. The logical identifiers are used by the instruction scheduling unit to control the order in which the threads execute the ordered critical code section. | 05-01-2014 |
20140168228 | FINE-GRAINED PARALLEL TRAVERSAL FOR RAY TRACING - Techniques are disclosed for tracing a ray within a parallel processing unit. A first thread receives a ray or a ray segment for tracing and identifies a first node within an acceleration structure associated with the ray, where the first node is associated with a volume of space traversed by the ray. The thread identifies the child nodes of the first node, where each child node is associated with a different sub-volume of space, and each sub-volume is associated with a corresponding ray segment. The thread determines that two or more nodes are associated with sub-volumes of space that intersect the ray segment. The thread selects one of these nodes for processing by the first thread and another for processing by a second thread. One advantage of the disclosed technique is that the threads in a thread group perform ray tracing more efficiently in that idle time is reduced. | 06-19-2014 |
20140168238 | FINE-GRAINED PARALLEL TRAVERSAL FOR RAY TRACING - Techniques are disclosed for tracing a ray within a parallel processing unit. A first thread receives a ray or a ray segment for tracing and identifies a first node within an acceleration structure associated with the ray, where the first node is associated with a volume of space traversed by the ray. The thread identifies the child nodes of the first node, where each child node is associated with a different sub-volume of space, and each sub-volume is associated with a corresponding ray segment. The thread determines that two or more nodes are associated with sub-volumes of space that intersect the ray segment. The thread selects one of these nodes for processing by the first thread and another for processing by a second thread. One advantage of the disclosed technique is that the threads in a thread group perform ray tracing more efficiently in that idle time is reduced. | 06-19-2014 |
20140351276 | SORTING WITH KEY MODIFICATION - This disclosure is directed to systems and methods for sorting data in which pre-sorting operations are performed on keys prior to those keys being reordered within memory. One example method includes generating, for each of a plurality of keys, an associated modified key. This operation is an example pre-sorting operation that occurs prior to any reordering of the keys. Once the modified keys are generated, the modified keys and/or associated information are processed in order to change the ordering of the keys in memory. | 11-27-2014 |
Patent application number | Description | Published |
20130321420 | RAY-NODE TEST USING INTEGER COMPARISONS - A method including performing ray traversal wherein the ray traversal includes determining boxes intersected by a ray. The ray traversal includes performing a ray-box intersection test including calculating plane intersections, and determining comparisons of two operands wherein each operand is a binary representation of a floating point value and wherein further the determining comparisons operation is performed using an integer unit of the computer graphics system. The ray-box intersection test further includes, responsive to results of the comparisons, calculating span intersections of the boxes. | 12-05-2013 |
20140006754 | SYSTEM AND METHOD FOR PERFORMING PREDICATED SELECTION OF AN OUTPUT REGISTER | 01-02-2014 |
20140022237 | SURFACE CLASSIFICATION FOR POINT-BASED RENDERING WITHIN GRAPHICS DISPLAY SYSTEM - A method including casting a ray from a point toward a point-based three dimensional scene. The scene includes memory resident objects with object surfaces and a first splat and a second splat associated with the object surfaces. The first splat and the second splat have a position and a normal vector. The method also includes forming an event line through the first splat and the second splat. The event line intersects the first splat and the second splat. The method further includes determining whether a visibility conflict exists between the first splat and the second splat. The method also includes separating the first splat and the second splat to different object surfaces if the visibility conflict exists, otherwise merging the first splat and the second splat to a single object surface. | 01-23-2014 |
20140022251 | LIGHT TRANSPORT CONSISTENT SCENE SIMPLIFICATION WITHIN GRAPHICS DISPLAY SYSTEM - Method including casting a first plurality of rays towards an original 3-D scene comprising objects with object surfaces. Method also includes constructing a simplified representation of the original 3-D scene and adjusting the simplified representation to be consistent with the original 3-D scene. Simplified representation is adjusted by using known rays and object surface intersections obtained from the casting, to produce an adjusted simplified representation. Method further includes steps for rendering a high quality image: casting a second plurality of rays toward the adjusted simplified representation and testing the second plurality of rays for points of intersection with the object surfaces within the adjusted simplified representation, estimating incoming light within the adjusted simplified representation at the points of intersection with the object surfaces, examining material properties of the object surfaces, and calculating a color and light intensity for a plurality of pixels associated with the second plurality of rays. | 01-23-2014 |
20140258693 | SYSTEM AND METHOD FOR HARDWARE SCHEDULING OF CONDITIONAL BARRIERS AND IMPATIENT BARRIERS - A method and a system are provided for hardware scheduling of barrier instructions. Execution of a plurality of threads to process instructions of a program that includes a barrier instruction is initiated, and when each thread reaches the barrier instruction during execution of program, it is determined whether the thread participates in the barrier instruction. The threads that participate in the barrier instruction are then serially executed to process one or more instructions of the program that follow the barrier instruction. A method and system are also provided for impatient scheduling of barrier instructions. When a portion of the threads that is greater than a minimum number of threads and less than all of the threads in the plurality of threads reaches the barrier instruction each of the threads in the portion is serially executed to process one or more instructions of the program that follow the barrier instruction. | 09-11-2014 |
20140267238 | CONSERVATIVE RASTERIZATION OF PRIMITIVES USING AN ERROR TERM - A system, method, and computer program product are provided for conservative rasterization of primitives using an error term. In use, an edge equation is determined for each edge of a primitive, the edge equation having coefficients defining the edge of the primitive. Each edge of the primitive is shifted to enlarge the primitive by modifying coefficients of the edge equation defining the edge by an error term that is a predetermined amount. Pixels that intersect the primitive are then determined using the enlarged primitive. | 09-18-2014 |
20140340403 | SYSTEM, METHOD, AND COMPUTER PROGRAM PRODUCT FOR UTILIZING A WAVEFRONT PATH TRACER - A system, method, and computer program product are provided for utilizing a wavefront path tracer. In use, a set of light transport paths associated with a scene is identified. Additionally, parallel path tracing is performed, utilizing a wavefront path tracer. | 11-20-2014 |
20140362074 | SPLITTING BOUNDING VOLUMES OF PRIMITIVES - A system, method, and computer program product are provided for splitting primitives. A plurality of primitives is received for a scene and a pre-determined plane that intersects the scene is identified. Bounding volumes of the plurality of primitives that are intersected by the pre-determined plane are split, where a bounding volume that encloses each intersected primitive of the plurality of primitives is split into a first bounding volume and a second bounding volume at an intersection of the bounding volume and the pre-determined plane. | 12-11-2014 |
20140365529 | AGGLOMERATIVE TREELET RESTRUCTURING FOR BOUNDING VOLUME HIERARCHIES - A system, method, and computer program product are provided for modifying a hierarchical tree data structure. An initial hierarchical tree data structure is received, and treelets of node neighborhoods are formed. A processor restructures the treelets using agglomerative clustering to produce an optimized hierarchical tree data structure that includes at least one restructured treelet, where each restructured treelet includes at least one internal node. | 12-11-2014 |
20140365532 | BOUNDING VOLUME HIERARCHIES THROUGH TREELET RESTRUCTURING - A system, method, and computer program product are provided for modifying a hierarchical tree data structure. An initial hierarchical tree data structure is received and treelets of node neighborhoods in the initial hierarchical tree data structure are formed. Each treelet includes n leaf nodes and n−1 internal nodes. The treelets are restructured, by a processor, to produce an optimized hierarchical tree data structure. | 12-11-2014 |