AMD Patent Applications

METHOD AND APPARATUS FOR MANAGING POWER IN A THERMAL COUPLE AWARE SYSTEM

Granted: September 21, 2017
Application Number: 20170269651
A method and apparatus for managing power in a thermal couple aware system includes determining a candidate configuration mapping based upon one or more criteria, the candidate configuration mapping being a mapping of performance for a candidate configuration of processor sockets in the thermal couple aware system. The candidate configuration mapping is evaluated by comparing the candidate configuration mapping to a stored configuration. If the evaluated candidate configuration mapping…

METHOD AND SYSTEM FOR YIELD OPERATION SUPPORTING THREAD-LIKE BEHAVIOR

Granted: September 14, 2017
Application Number: 20170262289
A method, system, and computer program product synchronize a group of workitems executing an instruction stream on a processor. The processor is yielded by a first workitem responsive to a synchronization instruction in the instruction stream. A first one of a plurality of program counters is updated to point to a next instruction following the synchronization instruction in the instruction stream to be executed by the first workitem. A second workitem is run on the processor after the…

PERIPHERAL COMPONENT

Granted: August 17, 2017
Application Number: 20170235700
Embodiments of a peripheral component are described herein. Embodiments provide alternatives to the use of an external bridge integrated circuit (IC) architecture. For example, an embodiment multiplexes a peripheral bus such that multiple processors in one peripheral component can use one peripheral interface slot without requiring an external bridge IC. Embodiments are usable with known bus protocols.

METHOD AND SYSTEM FOR STREAMING INFORMATION IN WIRELESS VIRTUAL REALITY

Granted: August 10, 2017
Application Number: 20170227765
Described is a method and system to efficiently compress and stream texture-space rendered content that enables low latency wireless virtual reality applications. In particular, camera motion, object motion/deformation, and shading information are decoupled and each type of information is then compressed as needed and streamed separately, while taking into account its tolerance to delays.

METHOD AND APPARATUS FOR INTER-LANE THREAD MIGRATION

Granted: August 3, 2017
Application Number: 20170220346
Briefly, methods and apparatus to migrate a software thread from one wavefront executing on one execution unit to another wavefront executing on another execution unit whereby both execution units are associated with a compute unit of a processing device such as, for example, a GPU. The methods and apparatus may execute compiled dynamic thread migration swizzle buffer instructions that when executed allow access to a dynamic thread migration swizzle buffer that allows for the migration…

SYSTEM FOR VIDEO COMPRESSION

Granted: August 3, 2017
Application Number: 20170223370
A system and method for providing video compression that includes encoding using an encoding engine a YUV stream wherein Y, U and V color values are encoded in parallel and patching together the Y, U and V color streams to form a compressed YUV output stream. The encoding engine further includes encoding each color value of the YUV stream in parallel using parallel encoding engines and a control engine for controlling operation all of the encoding engines in parallel. The YUV stream has…

SIMD PROCESSING UNIT WITH LOCAL DATA SHARE AND ACCESS TO A GLOBAL DATA SHARE OF A GPU

Granted: July 27, 2017
Application Number: 20170212757
A graphics processing unit is disclosed, the graphics processing unit having a processor having one or more SIMD processing units, and a local data share corresponding to one of the one or more SIMD processing units, the local data share comprising one or more low latency accessible memory regions for each group of threads assigned to one or more execution wavefronts, and a global data share comprising one or more low latency memory regions for each group of threads. w

METHOD AND APPARATUS TO ACCELERATE RENDERING OF GRAPHICS IMAGES

Granted: July 20, 2017
Application Number: 20170206625
Described is a method and apparatus to accelerate rendering of 3D graphics images. When rendering, the transformation matrix (or equivalent) used for projecting primitives is modified so that a resulting image is smaller and/or warped compared to a regular unmodified rendering. The effect of such transformation is fewer pixels being rendered and thus a better performance. To compute the final image, the warped image is rectified by an inverse transformation. Depending on the warping…

MEMORY MANAGEMENT IN GRAPHICS AND COMPUTE APPLICATION PROGRAMMING INTERFACES

Granted: July 20, 2017
Application Number: 20170206630
Methods are provided for creating objects in a way that permits an API client to explicitly participate in memory management for an object created using the API. Methods for managing data object memory include requesting memory requirements for an object using an API and expressly allocating a memory location for the object based on the memory requirements. Methods are also provided for cloning objects such that a state of the object remains unchanged from the original object to the…

METHOD AND APPARATUS FOR PERFORMING HIGH THROUGHPUT TESSELLATION

Granted: July 6, 2017
Application Number: 20170193697
A method, a system, and a computer-readable storage medium directed to performing high-speed parallel tessellation of 3D surface patches are disclosed. The method includes generating a plurality of primitives in parallel. Each primitive in the plurality is generated by a sequence of functional blocks, in which each sequence acts independently of all the other sequences.

TEXTURE COMPRESSION TECHNIQUES

Granted: July 6, 2017
Application Number: 20170195683
A texture compression method is described. The method comprises splitting an original texture having a plurality of pixels into original blocks of pixels. Then, for each of the original blocks of pixels, a partition is identified that has one or more disjoint subsets of pixels whose union is the original block of pixels. The original block of pixels is further subdivided into one or more subsets according to the identified partition. Finally, each subset is independently compressed to…

HARDWARE ACCURACY COUNTERS FOR APPLICATION PRECISION AND QUALITY FEEDBACK

Granted: June 29, 2017
Application Number: 20170185409
Methods, devices, and systems for capturing an accuracy of an instruction executing on a processor. An instruction may be executed on the processor, and the accuracy of the instruction may be captured using a hardware counter circuit. The accuracy of the instruction may be captured by analyzing bits of at least one value of the instruction to determine a minimum or maximum precision datatype for representing the field, and determining whether to adjust a value of the hardware counter…

DATA DRIVEN SCHEDULER ON MULTIPLE COMPUTING CORES

Granted: June 29, 2017
Application Number: 20170185451
Methods, devices, and systems for data driven scheduling of a plurality of computing cores of a processor. A plurality of threads may be executed on the plurality of computing cores, according to a default schedule. The plurality of threads may be analyzed, based on the execution, to determine correlations among the plurality of threads. A data driven schedule may be generated based on the correlations. The plurality of threads may be executed on the plurality of computing cores…

REGION PROBE FILTER FOR DISTRIBUTED MEMORY SYSTEM

Granted: June 22, 2017
Application Number: 20170177484
A probe filter determines whether to issue a probe to at least one other processing node in response to a memory access request, and includes a region probe filter directory, a line probe filter directory, and a controller. The region probe filter directory identifies regions of memory for which at least one cache line may be cached in a data processing system and a state of each region, wherein a size of each region corresponds to a plurality of cache lines. The line probe filter…

METHOD AND SYSTEM FOR USING SOLID STATE DEVICE AS EVICTION PAD FOR GRAPHICS PROCESSING UNIT

Granted: June 22, 2017
Application Number: 20170178275
Described is a method and system for using a solid state device (SSD) as an eviction pad for graphics processing units (GPUs). The method for eviction processing includes a processor that determines when a dedicated memory associated with a GPU and a host memory associated with the processor are congested. The processor sends a content transfer command to the SSD. The SSD initiates a content transfer directly with the dedicated memory associated with the GPU. The GPU transfers the…

METHOD AND APPARATUS FOR PERFORMING INTER-LANE POWER MANAGEMENT

Granted: June 15, 2017
Application Number: 20170168546
A method and apparatus for performing inter-lane power management includes de-energizing one or more execution lanes upon a determination that the one or more execution lanes are to be predicated. Energy from the predicated execution lanes is redistributed to one or more active execution lanes.

METHOD AND APPARATUS FOR TIME-BASED SCHEDULING OF TASKS

Granted: June 8, 2017
Application Number: 20170161114
A computing device is disclosed. The computing device includes an Accelerated Processing Unit (APU) including at least a first Heterogeneous System Architecture (HSA) computing device and at least a second HSA computing device, the second computing device being a different type than the first computing device, and an HSA Memory Management Unit (HMMU) allowing the APU to communicate with at least one memory. The computing task is enqueued on an HSA-managed queue that is set to run on the…

SYSTEM AND METHOD FOR APPLICATION MIGRATION

Granted: June 8, 2017
Application Number: 20170161212
Described is a method and apparatus for application migration between a dockable device and a docking station in a seamless manner. The dockable device includes a processor and the docking station includes a high-performance processor. The method includes determining a docking state of a dockable device while at least an application is running. Application migration from the dockable device to a docking station is initiated when the dockable device is moving to a docked state.…

REDUCING POWER NEEDED TO SEND SIGNALS OVER WIRES

Granted: June 8, 2017
Application Number: 20170163282
Methods and apparatus are described. A method, implemented in a decoder, includes receiving two or more signals from an encoder over two or more respective wires. At least one of the two or more signals includes at least one code that was recoded by the encoder. The decoder receives a recoding table. The recoding table provides a mapping indicating the recoding for each code that was recoded by the encoder in the received two or more signals. The decoder decodes the two or more received…

METHOD AND APPARATUS FOR PERFORMING A PARALLEL SEARCH OPERATION

Granted: May 25, 2017
Application Number: 20170147608
A method and apparatus for performing a search in a processor-in-memory (PIM) system having a first processor and at least one memory module includes receiving one or more images by the first processor. The first processor sends a query for a search of memory for a matching image to the one or more images to at least one memory module, which searches memory in the memory module, in response to the received query. The at least one memory module sends the results of the search to the first…