Architecture and Instructions for Accessing Multi-Dimensional Formatted Surface Memory
First Claim
1. A method for accessing multi-dimensional formatted surface memory by a program, comprising:
- receiving a surface instruction that specifies coordinates of samples stored in a multi-dimensional formatted surface;
computing an address of a location in the multi-dimensional formatted surface memory based on the coordinates and attributes of the multi-dimensional formatted surface, wherein the attributes of the multi-dimensional formatted surface are controlled by a program; and
accessing the samples stored in the multi-dimensional formatted surface using the address.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
-
Citations
20 Claims
-
1. A method for accessing multi-dimensional formatted surface memory by a program, comprising:
-
receiving a surface instruction that specifies coordinates of samples stored in a multi-dimensional formatted surface; computing an address of a location in the multi-dimensional formatted surface memory based on the coordinates and attributes of the multi-dimensional formatted surface, wherein the attributes of the multi-dimensional formatted surface are controlled by a program; and accessing the samples stored in the multi-dimensional formatted surface using the address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-readable storage medium storing instructions that, when executed by a processor, cause the processor executing a program to access a multi-dimensional formatted surface memory, by performing the steps of:
-
receiving a surface instruction that specifies coordinates of samples stored in a multi-dimensional formatted surface; computing an address of a location in the multi-dimensional formatted surface memory based on the coordinates and attributes of the multi-dimensional formatted surface, wherein the attributes of the multi-dimensional formatted surface are controlled by a program; and accessing the samples stored in the multi-dimensional formatted surface using the address. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A system for executing a compute program that accesses multi-dimensional formatted surface memory, the system comprising:
-
a parallel thread processor coupled to the multi-dimensional formatted surface memory and configured to; receive a surface instruction that specifies coordinates of samples stored in a multi-dimensional formatted surface; compute an address of a location in the multi-dimensional formatted surface memory based on the coordinates and attributes of the multi-dimensional formatted surface, wherein the attributes of the multi-dimensional formatted surface are controlled by a program; and access the samples stored in the multi-dimensional formatted surface using the address.
-
Specification