The Application Performance Characterization Project Committee Rules


Last Updated: 9/30/99

  1. Overview
    1. General Philosophy
      1. Within SPEC's Graphics Performance Characterization (GPC) Group there was a strong belief that it is important to benchmark graphics performance based on actual applications. Application-level benchmarks exist, but they are not standardized and they do not cover a wide range of application areas. Thus, the Application Performance Characterization (SPECapcSM)  Project was created within the GPC to create a broad-ranging set of standardized benchmarks for graphics-intensive applications.
      2. The SPECapc seeks to develop benchmarks for generating accurate application-level graphics performance measures in an open, accessible and well-publicized manner.
      3. The SPECapc wishes to contribute to the coherence of the field of application 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.
      4. The SPECapc will provide formal beta benchmarks to members and final benchmark releases to the public in a timely fashion.
      5. Hardware and software used to run the SPECapc benchmarks must provide a suitable environment for running typical (not just benchmark) workloads for the applications in question.
      6. SPECapc 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, SPECapc will notify the appropriate parties (i.e. SPECapc members and users of the benchmark) and SPECapc will re-designate the benchmark by changing its name and/or version. In the case that a benchmark is removed in whole or in part, SPECapc 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.
    2. Overview of Optimizations
      1. SPECapc is aware of the importance of optimizations in producing the best system performance. SPECapc is also aware that it is sometimes hard to draw an exact line between legitimate optimizations that happen to benefit SPECapc benchmarks and optimizations that specifically target SPECapc benchmarks. However, with the list below, SPECapc wants to increase awareness of implementers and end-users to issues of unwanted benchmark-specific optimizations that would be incompatible with SPECapc's goal of fair benchmarking.
      2. To ensure that results are relevant to end-users, SPECapc expects that the hardware and software implementations used for running SPECapc benchmarks adhere to a set of general rules for optimizations.
    3. General Rules for Optimization
      1. Optimizations must generate correct images and results for the application under test, for both the benchmark case and similar cases. Correct images and results are those deemed by the majority of the SPECapc electorate, potentially with input from the associated independent software vendor (ISV) and/or end-users, to be sufficiently adherent to the intent behind the application.
      2. Optimizations must improve performance for a class of workloads where the class of workloads must be larger than a single SPECapc benchmark or SPECapc benchmark suite.
      3. For any given optimization a system should generate correct images with and without said optimization. An optimization should not reduce system stability.
      4. The vendor encourages the implementation for general use (not just for running a single SPECapc benchmark or SPECapc benchmark suite).
      5. The implementation is generally available, documented and supported by the providing vendor.
      6. In the case where it appears that the above guidelines have not been followed, SPECapc may investigate such a claim and request that the optimization in question (e.g. one using SPECapc benchmark-specific pattern matching) be removed and the results resubmitted. Or, SPECapc 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.
      7. It is expected that system vendors would endorse the general use of these optimizations by customers who seek to achieve good application performance.
      8. No pre-computed (e.g. driver-cached) images, geometric data, or state may be substituted within an SPECapc benchmark on the basis of detecting that said benchmark is running (e.g. pattern matching of command stream or recognition of benchmark's name).
  2. Membership
    1. Membership
      1. Membership in the SPECapc is open to any organization that has a direct and/or material interest in graphics-focused application benchmarking.
      2. Members are expected but not required to be active participants developing and improving SPECapc benchmarks.
      3. Members are entitled to secure access to development code.
      4. Members are entitled to unlimited publication rights.
      5. New members become eligible for voting on the 2nd consecutive qualified meeting. The first qualified meeting may have been attended prior to becoming a member.
      6. A member maintains voting rights by attending 1 out of the last 3 qualified meetings. A member loses their voting rights upon missing 3 consecutive qualified meetings.
      7. A member regains voting rights on attending a second consecutive qualified meeting.
    2. Associate Status
      1. Associate status is available to non-profit organizations.
      2. All SPECapc, GPC and SPEC rights and rules apply to Associates unless specifically stated otherwise.
      3. Associates are entitled to secure access to development code.
      4. Associates do not have voting rights.
    3. Officers and Elections
      1. On an annual basis the SPECapc will elect from its membership the following officers:
        1. Chairperson
        2. Vice Chairperson
        3. Secretary-Treasurer
      2. The Chairperson's responsibilities are to
        1. conduct meetings,
        2. send out the agenda on time,
        3. conduct votes on time,
        4. deal with outside organizations such as the press,
        5. police the submission, review and appeal processes.
      3. The Vice Chairperson's responsibility is to do the chairman's job when the chairman is not available.
      4. The Secretary-Treasurer responsibilities are to:
        1. record minutes,
        2. maintain the rules document,
        3. keeps a history of email,
        4. track finances and interact with the GPC and SPEC Board in that regard.
    4. Meetings
      1. The SPECapc has three types of meetings (not including sub-committee meetings)
        1. Regular quarterly meetings
        2. Special SPECapc face-to-face meetings for the full membership
        3. Conference call meetings
      2. Meetings which qualify for attendance only include:
        1. Face-to-face meetings scheduled one month in advance
        2. Conference call meetings scheduled at least two weeks in advance which are indicated as qualified at least two weeks in advance.
    5. Membership Dues and Billing
      1. Dues for the SPECapc will be set annually by the SPEC Board of Directors with input from the SPECapc. Once set, the dues amount will be recorded in the SPEC minutes and communicated to the SPECapc by the SPEC office.
      2. Payment of dues for a given calendar year must be received at the SPEC office by March 1st of that year. Alternately, a Letter of Intent to join the SPECapc must be received by the SPEC office by March 1st of that year with a subsequent dues payment by May 1st of that year. Failure to meet these deadlines will result in loss of membership and voting rights which will be reinstated when full payment is received at the SPEC office.
    6. Non-Member Publication
      1. The SPECapc will accept submissions from non-members for review and publication on the SPEC public website.
      2. Non-member submissions must follow the same rules and procedures as member submissions.
      3. Non-members are not eligible to participate in reviewing results.
      4. Non-members will be charged per system configuration for their submissions. Any change in hardware or software constitutes a new configuration.
      5. On an annual basis the SPECapc will establish the pricing for non-member publication. The amounts will be recorded in the SPECapc minutes.
      6. A configuration will be published on-line for one year, unless the submitter notifies the publisher that it should be removed.
      7. After one year, the configuration will be removed automatically, unless the submitter notifies the publisher that it should remain on-line.
      8. There are no additional non-member fees for extending on-line publication beyond one year.
      9. The SPECapc project group may remove published results due to benchmark revision. In this case, the submitter will be given notice by the project group and may, at no charge, resubmit the identical configuration for the revised benchmark.
  3. Benchmarks
    1. Benchmark Acceptance
      1. Benchmark components are defined as
        1. specific revision of an application,
        2. run rules,  scripts and associated data sets.
      2. New or modified benchmark components require a 2/3-majority vote of the SPECapc electorate to be accepted for publication. Selection of datecode versions of a specific revision of an application is by majority vote.
      3. A minimum 3-week review period is required for new or significantly modified benchmark components.
      4. At the end of the review period a vote will be called to approve the proposed changes.
      5. An amendment to a benchmark component during the review period must be unanimously accepted. If not, the review period shall be restarted.
    2. Benchmark Code Versioning
      1. Benchmarks use the following version coding: M.m (e.g. SPECapcSM for Pro/ENGINEER® 20.0 v1.1) M is the major release number and m is the minor release number.
      2. 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).
      3. 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).
      4. When there is a new major release of a benchmark, submissions using the previous release will be accepted for at least one submission cycle.
  4. Submission, Review and Publication
    1. Submission Preparation Rules
      1. The rules for the submission and review cycle to be used are those posted on the SPECapc web site two weeks prior to the submission deadline.
      2. The benchmark and application versions to be used for a submission are those posted on the SPECapc web site two weeks prior to the submission deadline.
      3. All benchmark sources for a submission must be the same as that posted on the SPECapc web site two weeks prior to the submission deadline.
      4. Members who wish not to review the submission of other specific members due to conflict of interest must submit that list to the SPEC office prior to the submission deadline. The SPEC office will hold the conflict of interest list in confidence from other members.
    2. General Benchmark Run Rules
      1. The system under test must correctly perform all of the operations being requested by the application during the benchmark.
      2. No changes to any files associated with the benchmark are permitted.
      3. The entire display raster must be available for use by the application being benchmarked.
      4. It is not permissible to override the intended behavior of the application through any means including, but not limited to, registry settings or environment variables.
      5. No interaction is allowed with the system under test during the benchmark, unless required by the benchmark.
      6. The system under test can not skip frames during the benchmark run.
      7. It is not permissible to change the system configuration during the running of a given benchmark. That is, one can't power off the system, make some changes, then power back on and run the rest of the benchmark.
      8. Results submitted must be obtained using the scripts, models, and application revisions which are specified for that submission cycle by the SPECapc.
      9. The monitor used in the benchmark must support the stated resolution and refresh rate.
      10. The benchmark must successfully obtain all requested window sizes, with no reduction or clipping of any benchmark-related windows.  Windows created by the benchmark must not be obscured on the screen by anything other than other elements created by the benchmark.
      11. Tests may be run with or without a desktop/window manager if the application allows this, but must be run on some native windowing system.
    3. General Submission Content Rules
      1. The information supplied should reflect the SYSTEM AS TESTED.
      2. All  fields in the of the result files must be supplied by the submitter unless they are marked as "opt.", indicating an optional field.
      3. Submitters must specify a date for 'General Availability' that is accurate for the entire system - hardware, software, O/S, drivers, etc.
      4. Date fields should always contain a valid date. "Now" is not valid in a date field - the field should instead indicate the earliest date of availability.
      5. Price includes system and monitor as tested.
      6. Alternate currency from the US dollar can be submitted as price and the submission will sort separately on the summary pages for Price and Price/Performance.
      7. The submitter is required to declare sufficient information to reproduce the performance claimed. This includes but is not limited to:
        1. non-default environment variables,
        2. non-default registry variables,
        3. hints,
        4. changes to the standard makefiles.
      8. Any information required to be reported such as non-default environment variables, registry variables or hints, that does not have a predefined field must be documented in the "Comments" or "API Extensions" areas of the results page.
      9. Valid submissions must include screen captures if required by the benchmark.
      10. Results previously published for a system can be resubmitted.
      11. Previously published results being re-submitted can only have price changes.
      12. The submission upload file structures are defined in the benchmark-specific section below.
      13. Each member company should ensure that the upload file contains data for all the new configurations and existing published configurations they wish to continue publishing.
      14. Standardized cache nomenclature are as follows:
        1. (D+I) is a Unified instruction and data cache
        2. (D/I) is a for separate instruction and data caches
        3. A number followed by KB or MB can be used to describe the size of the cache.
        4. Caches dedicated to a processor are listed as per-processor cache size.
        5. Caches shared by multiple processors are listed by total size.
      15. Each component of the submitted software configuration (including the graphics driver) shall be:
        1. uniquely identified,
        2. available to SPECapc members, upon demand, by the submission deadline and for the duration of the review process,
        3. available to the public by the publication date, with continued availability at least through the next submission deadline.
      16. On or before the date of publication the platform as described in the submission shall be available for purchase by the public, for the specified price or less, with a firm delivery date.
      17. Any change to or replacement of, subsequent to publication, any of the elements of the submitted software configuration that results in more than a 5% degradation in any of the benchmark results for that submitted system will be cause for removal of the results for that system from the SPEC public website.
    4. Submission Process Rules
      1. Each benchmark is considered a separate submission.
      2. Submission of each benchmark's results (e.g., Pro/ENGINEER®, Solidworks 98Plus®) will be in different tar/zip files.
      3. The submission file names are detailed below under the benchmark-specific rules.
      4. A submitter of SPECapc benchmark results must upload their submission to the proper location by the submission deadline.
      5. The submitter must notify SPEC Office after a submission is uploaded to the server prior to the submission deadline with contact information for questions about the submission.
      6. The submitter must contact the SPEC office if they have attempted to upload their submission and were not successful.
      7. The SPEC office will not disclose who has submitted results until the submission deadline has passed.
      8. Submissions will not be accepted after the submission deadline.
      9. The upload directory will be set to write-only until the submission deadline has passed. Then it is set to read-write (not modify) after the submission deadline.
      10. If a submitter is notified that their submission format is incorrect, they must re-send their submission in proper format within 3 business days of notification.
      11. Abuse of the resubmission allowance is grounds for rejection of a submission.
    5. Review Period Rules
      1. SPECapc members shall keep all submitted results confidential until those results appear on the public SPEC website, or until they become public through some other means. SPECapc members are free to make their own submitted results public at any time.
      2. SPEC Office pairs reviewers to submitters.
      3. The various SPECapc benchmark review pools will be independent of each other. The SPEC office will send the list of contact information for the submissions under review.
      4. All members will have access to all benchmark submissions once the review period begins.
      5. There will be a 10 calendar-day review period on submissions.
      6. Submissions can not be withdrawn after the submission deadline.
      7. If a primary reviewer has a question with a submission they must pose the question to the submitter first.
      8. Any reviewer/member who has any question with a submission must either:
        1. Pose any questions to the submitter and cc the primary reviewer.
        2. Pose any questions to the primary reviewer. The primary reviewer must then pose the question(s) to the submitter.
        3. Pose any questions to an officer of the SPECapc. The officer of the SPECapc must then pose the question(s) to the submitter and cc the primary reviewer.
      9. The submitter can request that their submission be rejected on stated technical grounds.
      10. With the permission of the primary reviewer, the submitter may resubmit their submission.
      11. The submitter must provide the primary reviewer access to the system under test at the submitter's facilities if requested by the reviewer during the review period. The reviewer must state prior to the visit what part of the submission is going to be verified. Travel expenses are the responsibility of the reviewer.
      12. Previously published results being re-submitted can only be reviewed for consistency with the previous submission and price changes.
      13. Price can be challenged. If so, the submitter must provide documentation that the system can be purchased for the price quoted. Price must be valid for two submission cycles from date of first publication. Quantity 1 pricing must be used.
      14. Reviewers will decide if the image quality and results of the submission are sufficiently correct with respect to the intent of the ISV to satisfy the intended end-users' expectations.
      15. The primary reviewer of a submission must either approve the submission without comment, approve the submission with comment or reject the submission with comment by the end of the review period. If the primary reviewer fails to do this, the submission will be automatically accepted. The submitter may appeal a rejection as described in "Review Appeal Rules" below.
      16. Any comments for rejection of a submission received after the end of the review period will not affect or delay publication of the submission.
    6. Review Appeal Rules
      1. There will be a 2-week appeal period following the review period.
      2. During the appeal process, any submitters of rejected submissions can make their case to the SPECapc via email.
      3. At the end of the appeal period, if there is no resolution the Chair of the SPECapc will call for a vote to approve or reject the submission.
      4. The whole SPECapc electorate votes on approval or rejection of an appealed submission. A simple majority of the SPECapc electorate is required to approve or reject the appeal. In case of a tie the submission is rejected.
    7. Challenging Approved Results
      1. Any member may challenge approved results at any time. This includes
        1. archived results,
        2. currently published results and
        3. re-submitted results not subject to the regular submission review process.
      2. The burden of proof that the result should be modified is on the member who is challenging the result.
      3. The challenge must be ratified by a majority vote of the SPECapc electorate.
      4. The Chair of the SPECapc will call a special review cycle for a resubmission in the event that a current submission is successfully challenged.
      5. Successful challenges of archived results can only result in annotation, not removal or modification. Annotation is determined by the majority of the SPECapc electorate.


  5. SPECapc Benchmark Specific Rules and Procedures 
    1. Pro/Engineer® Release 20.0
      1. The benchmark must be run using the datecode version of Pro/ENGINEER® specified on the SPECapc website two weeks prior to the submission deadline.
      2. The file must be used as-is and may not be modified or overridden.
      3. The color depth in the 3D graphics windows used by Pro/ENGINEER® must be at least 15 bits (32K colors).
      4. The displayed raster resolution must be at least 1280 pixels by 1024 pixels.
      5. The monitor refresh rate must be at least 70Hz. This requirement does not apply to digital flat panel displays.
      6. The border width of the windows created during the benchmark shall not exceed 10 pixels.
      7. The submission must contain the HTML results page as well as the corresponding "trailfile" that resulted from running the benchmark.
      8. The directory structure of the submission  must be as follows:
      9. .../<Company-name/<system_1/proe/results.htm(l)
        .../<Company-name/<system_1/proe/trail.txt (may be compressed)
        .../<Company-name/<system_2/proe/trail.txt (may be compressed)
      10. Compression may be accomplished using UN*X compress(1), tar -Z or zip. The reviewer may ask the submitter to supply an uncompressed version of the trail file(s).
      11. The submission file must be named or company_apc_proe20_vN.tar.z where company is the member company or organization name in lower case and vN is the file version (e.g. sgi_apc_proe20_v0.tar.z and The initial submission is v0. Resubmitted files must have the version number incremented.
    1. Solidworks98Plus®
      1. The benchmark must be run using the datecode version of Solidworks 98Plus® specified on the SPECapc website two weeks prior to the submission deadline.
      2. The color depth in the windows used by Solidworks 98Plus® must be at least 15 bits (32K colors).
      3. The displayed raster resolution must be at least 1024 pixels x 768 pixels.
      4. The monitor refresh rate must be at least 70Hz. This requirement does not apply to digital flat panel displays.
      5. The border width of the windows created during the benchmark shall not exceed 10 pixels.
      6. The submission must contain the HTML results page.
      7. The directory structure of the submission  must be as follows:
      9. The submission file must be named where company is the member company or organization name in lower case and vN is the file version (e.g. The initial submission is v0. Resubmitted files must have the version number incremented.

VI. Adoption

Adopted by the SPECapc on April 7, 1999.