GPUBench Test: Outputbandwidth

Back to Main Page
Outputbandwidth is asimple test that measures MRT output bandwidth into floating point render targets using the ATI_Draw_buffers extension. The shader merely copies a value stored in a register to each of the output buffers.
Common Functionality
There are no input textures in this test. The test rasterizes SIZE*SIZE fragments. The --min and --max options set the range of outputbuffer sizes to be tested (in increments of --step or, if --exponential is specified, output buffer size is doubled each time until reaching the maximum size). Supplying a range of values is useful for comparison as well as graph generation purposes.
1,2,3, and 4 component buffers are permitted as specified by the --components option. Rasterization of fragments can be controlled in two ways: --render specifies whether a screen covering quad or large triangle is rasterized to generate fragments. If --chunksize [NUM] is provided, instead of a single primitive being drawn, multiple primitives are issued, each covering NUMxNUM sections of the screen.
To reduce noise, specify that the test should be repeated a large number of times using --iters.
Test Specific Details
The number of output buffers is specified with the --outputs option. 1 to 4 outputs are allowed.
Example Usage
Measure bandwidth when rendering to 4 512x512 4-component floating-point buffers.
outputbandwidth -m 512 -x 512 -o 4 -c 4

Commandline Usage
Usage: gpubench\bin\outputbandwidth.exe <options>
  -m, --min=SIZE
             min quad size to test (default: 512)
  -x, --max=SIZE
             max quad size to test (512)
  -s, --step=SIZE
             step size from min to max (1)
  -c, --components=SIZE
            number of components for texture and
            render target. (4)
  -r, --render=STRING
            Specifies how to render the quad
            quad:     issues exact quad
            triangle: issues large triangle (default)
  -e, --exponential
            flag to turn on exponential stepping
  -k, --chunksize=SIZE
            Chunk the rendering to SIZExSIZE blocks
  -n, --nocomments
            No comments, just the facts.
  -v, --viewprogram
            Just view the generated program.
  -o, --outputs=INT
            Number of render targets (default: 1)
  -t, --iterations=INT
            Number of iterations to perform (default: 500)

GPUBench was developed at the Stanford University Graphics Lab.