Surface Instructions for Multi-Dimensional Graphics Memory Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Compute application programs are unable to access data stored in multi-dimensional formatted graphics surface memory due to the lack of configuration in GPU computing features to convert graphics surface memory coordinates into computing memory byte addresses and between graphics and computing data formats.
Innovation Solution
The implementation of new memory access instructions, such as surface memory load, store, reduce, and atomic instructions, allows compute application programs to access multi-dimensional formatted graphics surface memory by computing addresses based on specified coordinates and attributes, enabling access to samples stored in these surfaces.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If GPU computing features are used to execute parallel compute application programs, then processing capability is improved, but the ability to access multi-dimensional formatted graphics surface memory is lost
Solution Approach 1:
The patent introduces surface instructions that enable the GPU computing features to perform both traditional graphics processing and compute applications. These instructions provide universal access to multi-dimensional formatted graphics surface memory, allowing compute application programs to read and write surface data directly using the same hardware architecture, thus achieving multi-functionality without requiring separate memory access paths
Solution Approach 2:
The patent introduces surface instructions as an intermediary mechanism between compute application programs and graphics surface memory. These instructions act as a bridge that translates compute program memory access requests into appropriate graphics surface memory accesses, enabling compute applications to interact with graphics memory without requiring direct configuration of the graphics processing pipeline
2Productivity
If compute application programs directly access graphics surface memory, then processing efficiency is improved, but complexity of address conversion and format transformation is increased
Solution Approach 1:
The patent implements self-service by embedding the address conversion and format transformation logic within the GPU hardware itself. The surface instructions automatically handle the conversion from compute program memory addresses to graphics surface memory addresses and transform data formats as needed, eliminating the need for complex software-based address translation and format conversion mechanisms
Solution Approach 2:
The patent utilizes parameter changes by allowing the surface instructions to dynamically adjust memory access parameters based on the graphics surface configuration. The hardware automatically modifies address calculations and data formatting parameters according to the surface's dimensions, format, and layout, simplifying the compute program while the hardware handles the parameter transformations
Data Source
AI summary
One embodiment of the present invention sets forth a technique for a program to access multi-dimensional formatted graphics surface memory. Multi-dimensional memory objects called “surfaces” stored in a user-specified data or pixel format and arranged in a graphics optimized layout are accessed by programs using surface instructions. A set of memory access instructions e.g., load, store, reduce, and atomic, referred to as surface instructions, may be used to access the surfaces. Coordinate bounds checking is performed with configurable clamping. Caching behavior may also be specified by the surface instructions. Data format conversion and packing to a specified storage format is supported for store, reduction, and atomic surface instructions. Data format conversion and unpacking from a specified storage format is supported for loads and atomic surface instructions.


