|  Results  SPECapc  Download/Order  Resources |  
 
	 
		|   
 
  The
						OpenGL Performance Characterization Project Group Rules Version 2.00 Last Updated: 01/25/2006  
				 
					 Overview   
						 
							 Rules
										Inheritance   
								 
									 All
										rules declared in "The Graphics Performance Characterization
										Group (SPEC/GPC): Rules For Project Groups" document (known
										hereinafter as the GPC Project Groups Ruleset) shall apply, unless
										specifically overruled by a rule in this document. 
									 Rules
										declared in this document shall apply in addition to the rules
										declared in the GPC Project Groups Ruleset. 
							 General
										Philosophy   
								 
									 The
										OpenGL Performance Characterization Project of SPEC/GPC (henceforth
										abbreviated as SPECopcSM) believes the user community
										will benefit from an objective series of tests, which can serve
										as common reference and be considered as part of an evaluation
										process.  
									 The
										SPECopc seeks to develop benchmarks for generating accurate OpenGL
										performance measures in an open, accessible and well-publicized
										manner.  
									 The
										SPECopc wishes to contribute to the coherence of the field of OpenGL
										performance measurement and evaluation so that vendors will be
										better able to present well-defined performance measures; and customers
										will be better able to compare and evaluate vendors' products and
										environments.  
									 The
										SPECopc will provide formal beta software to members and final
										software releases to the public in a timely fashion.  
									 Hardware
										and software used to run the SPECopc benchmarks must provide a
										suitable environment for running typical OpenGL programs.  
									 SPECopc
										reserves the right to adapt its benchmarks as it deems necessary
										to preserve its goal of fair and useful benchmarking (e.g. remove
										benchmark, modify benchmark code or data, etc). If a change is
										made to the suite, SPECopc will notify the appropriate parties
										(i.e. SPECopc members and users of the benchmark) and SPECopc will
										re-designate the metrics (e.g. changing the metric from DRV-04
										composite to DRV-05 composite). In the case that a benchmark is
										removed in whole or in part, SPECopc reserves the right to republish
										in summary form "adapted" results for previously published
										systems, converted to the new metric. In the case of other changes,
										such a republication may necessitate re-testing and may require
										support from the original test sponsor.  
							 Overview
										of Optimizations   
								 
									 SPECopc
										is aware of the importance of optimizations in producing the best
										system performance. SPECopc is also aware that it is sometimes
										hard to draw an exact line between legitimate optimizations that
										happen to benefit SPECopc benchmarks and optimizations that specifically
										target SPECopc benchmarks. However, with the list below, SPECopc
										wants to increase awareness of implementers and end-users to issues
										of unwanted benchmark-specific optimizations that would be incompatible
										with OPC's goal of fair benchmarking.  
									 To
										ensure that results are relevant to end-users, SPECopc expects
										that the hardware and software implementations used for running
										SPECopc benchmarks adhere to a set of general rules for optimizations.  
							 General
										Rules for Optimization   
								 
									 Optimizations
										must generate correct images for a class of programs, where the
										class of programs must be larger than a single SPECopc benchmark
										or SPECopc benchmark suite. Correct images are those deemed by
										the majority of the SPECopc electorate to be sufficiently adherent
										to the OpenGL specification for the targeted end-user community
										(e.g. users of OpenGL on PDAs would have lower quality expectations
										than those using high-end workstations).  
									 Optimizations
										must improve performance for a class of programs where the class
										of programs must be larger than a single SPECopc benchmark or SPECopc
										benchmark suite and applicable to at least one end user application.
										For any given optimization a system must generate correct images
										with and without said optimization. An optimization must not reduce
										system stability.  
									 The
										vendor encourages the implementation for general use (not just
										for running a single SPECopc benchmark or SPECopc benchmark suite).
										As an indicator that the implementation is suitable for general
										use, graphics configurations submitted for the SPECopc benchmark
										suite must be able to run the corresponding SPECapc application
										benchmarks if applicable.  
									 The
										implementation is generally available, documented and supported
										by the providing vendor.  
									 It
										is expected that vendors would endorse the general use of these
										optimizations by customers who seek to achieve good application
										performance.  
									 No
										pre-computed (e.g. driver cached) images, geometric data, or OpenGL
										state may be substituted within an SPECopc benchmark on the basis
										of detecting that said benchmark is running (e.g. pattern matching
										of command stream or recognition of benchmark's name).  
									 Every
										OpenGL implementation in both immediate and display list mode must
										fully process every GL element presented to it that will impact
										the frame buffer and GL state.  
									 Differences
										to the frame buffer between immediate and display list modes must
										not exceed 0.01% of the number of pixels in the window.  
									 In
										the case where it appears the guidelines in this document have
										not been followed, SPECopc may investigate such a claim and request
										that the optimization in question (e.g. one using SPECopc benchmark-specific
										pattern matching) be removed and the results resubmitted. Or, SPECopc
										may request that the vendor correct the deficiency (e.g. make the
										optimization more general purpose or correct problems with image
										generation) before submitting results based on the optimization.  
  
				 
					 Benchmarks   
						 
							 Benchmark
										Acceptance   
								 
									 Benchmark
										components are defined as   
										 
											 code
												sets (e.g. SPECviewperf®),  
											 run
												rules, scripts and associated data sets (e.g. viewsets).  
									 New
										or modified benchmark components require a 2/3-majority vote of
										the SPECopc electorate to be accepted for publication.  
									 A
										minimum 3-week review period is required for new or significantly
										modified benchmark components.  
									 At
										the end of the review period a vote will be called to approve the
										proposed changes.  
									 An
										amendment to a benchmark component during the review period must
										be unanimously accepted. If not, the review period shall be restarted.  
									 It
										is the option of any future SPECviewperf Viewset author(s) to require
										passing of selected conformance tests prior to submission of results
										for that viewset.  
							 Benchmark
										Code Versioning   
								 
									 Benchmark
										code is defined as the set of source code required to build and
										run a benchmark executable (e.g. SPECviewperf).  
									 SPECviewperf
										Benchmark code uses the following version coding: M.m.p (e.g. 8.0.1)
										M is the major release number, m is the minor release number and
										p is the patch level.   
										 
											 The
												major release number is only incremented when large amounts of
												code are changed and the scripting language is dramatically changed
												as a result -- backward compatibility is highly unlikely when
												moving scripts or data sets between major releases (e.g. running
												v2 scripts on a v3 executable would almost certainly fail).  
											 The
												minor release number is bumped if some small set of code is replaced
												or removed - but the standard, unchanged scripts and data sets,
												as a whole, must run on the new version (but perhaps with different
												performance).  
											 Patch
												releases can contain additions of new properties and additions
												of new attributes to existing properties, but cannot change or
												remove any existing properties, attributes or functionality.
												These are typically used for bug fixes, small enhancements and
												so forth.  
							 SPECviewperf
										Viewset Versioning   
								 
									 The
										version of a SPECviewperf viewset should be incremented if:   
										 
											 changes
												to SPECviewperf affect the performance of the viewset,  
											 or
												changes to the Viewset script affect performance,  
											 or
												if the viewset data changes,  
											 or
												if rule changes affect the acceptance criteria.  
									 New
										results for the previous version of a Viewset will no longer be
										published. 
  
				 
					 Benchmark
							Run Rules    
						 
							 Benchmark
										Run Rules   
								 
									 The
										system under test must perform all of the OpenGL functionality
										requested by the benchmark with the exception that the system does
										not have to support dithering.  
									 The
										systems under test must be OpenGL Conformant for the pixel format
										or visual used by the benchmark.  
									 Settings
										for environment variables, registry variables and hints must not
										disable compliant behavior.  
									 No
										interaction is allowed with the system under test during the benchmark,
										unless required by the benchmark.  
									 The
										system under test can not skip frames during the benchmark run.  
									 It
										is not permissible to change the system configuration during the
										running of a given benchmark. For example, one can not power off
										the system, make some changes, then power back on and run the rest
										of the benchmark.  
									 Screen
										grabs for SPECviewperf will be full window size.  
									 The
										color depth used must be at least 24 bits (true color), with at
										least 8 bits of red, 8 bits of green and 8 bits of blue.  
									 If
										a depth buffer is requested, it must have at least 16 bits of resolution. 
									 The
										display raster resolution must be at least 1280 pixels by 1024
										pixels.  
									 The
										monitor refresh rate must be at least 75Hz. This requirement does
										not apply to digital flat panel displays.  
									 The
										monitor must support the stated resolution and refresh rate and
										must fully display all of the benchmark tests being submitted.  
									 Results
										to be made public must be run by official scripts that may not
										be changed, with the following exceptions (which must be documented
										if not the default):   
										 
											 In
												SPECviewperf:   
												 
													 specific
														selection of visual/pixel format on a per-test basis  
													 the
														multithreading flag (-th) on approved multi-threading viewsets  
											 Visual/pixel
												format required:   
												 
													 May
														be selected on a per-test basis by submission of the viewset
														script.  
													 If
														RGB visual/pixel format is requested, it must have at least
														eight bits of red, eight bits of green and eight bits of blue.  
													 If
														destination alpha is requested, it must have at least 1 bit.  
													 If
														depth buffer is requested, it must have at least 16 bits of
														resolution.  
									 Screen
										resolution must be large enough to run the individual tests at
										their requested window size, with no reduction or clipping of test
										window.  
									 Tests
										may be run with or without a desktop/window manager, but must be
										run on some native windowing system.  
  
				 
					 Submission
							and Review Rules  
						 
							 Submission
										Content Rules   
								 
									 These
										rules are specific to SPECopc and shall apply in addition to the
										Submission Content Rules in the GPC Project Groups Ruleset. 
									 A
										SPECviewperf submission can be for one or more viewsets per configuration.  
									 The
										SPECviewperf binary must be submitted if it is not one of the standard
										binaries.  
									The SPECviewperf
										submission upload file must have the structure defined in Figure
										1: 
 Figure 1 
									 Submitters
										are not required to submit depth images with a submission. Submitters
										must retain depth images to be available upon request by any committee
										member during the review period. After the review period, submitters
										are not required to retain depth images.  
							 Submission
										Process Rules   
								 
									 These
										rules are specific to SPECopc and shall apply in addition to the
										Submission Process Rules in the GPC Project Groups Ruleset. 
									 The
										submission file names must contain opc_v for SPECviewperf, contain
										all lower case letters and not contain '.' except prior to the
										zip or tar file extension (e.g. intel_opc_v_jun99_v0.zip). The
										file version is denoted prior to the file extension. The initial
										file version is v0. Resubmitted files must increment the version
										number. 
							 Review
										Period Rules   
								 
									 These
										rules are specific to SPECopc and shall apply in addition to the
										Review Period Rules in the GPC Project Groups Ruleset. 
									 Reviewers
										will decide if the image quality of the submission is sufficiently
										adherent to the OpenGL specification to satisfy the intended end
										user's expectations. If a reviewer rejects the quality of an image
										for a stated reason, the submitter can ask for a vote of the full
										SPECopc electorate. In case of a tie the submission is rejected.  
									 System
										configurations submitted for the SPECopc benchmark suite must be
										able to run the corresponding SPECapc application benchmarks if
										applicable. If this criterion is not met the submission will be
										rejected.  
 |   
		| Adoption   
				Changes for version 1.1 adopted
					June 10, 1999Changes for version 1.2 adopted January 12, 2000
 V1.4 changes -- 5.02 (d) added
 V1.5 changes -- 4.01.i.2(2), 4.01.i.2(4), 5.02.w
 V1.6 changes -- 1.03.c, 5.04.o - Adopted by the SPECopc on
					January 23, 2003
 V1.17 Adopted by the SPECopc on August 13, 2004
 V1.18 Adopted by the SPECopc on October 21, 2004
 V1.19 Adopted by the SPECopc on April 19, 2005
 V1.20 Adopted by the SPECopc on October 20, 2005
 V2.00 Adopted by the SPECopc on January 26, 2006
 |  |