Skip navigation

Standard Performance Evaluation Corporation

Facebook logo LinkedIn logo Twitter logo
 
 

SPEC CPU Benchmark Search Program

SPEC holds to the principle that better benchmarks can be developed from actual applications. With this in mind, SPEC is once again seeking to encourage those outside of SPEC to assist us in locating applications that could be used in the next CPU-intensive benchmark suite, currently under development within SPEC and currently designated as SPEC CPUv6. (This designation comes from the fact that there were 5 previous major versions of CPU intensive benchmark suites: the original SPECmark, SPEC92, SPEC CPU95, SPEC CPU2000, and SPEC CPU2006).

What is the SPEC CPU Search Program?

The CPU Search Program is sponsored by the Standard Performance Evaluation Corporation (SPEC, a non-profit consortium; identified as "Sponsor" in this document). The CPU Search Program is designed to encourage and recognize achievements of members of the academic and industrial community who provide and develop application code and datasets that can be used as components of the next revision of the SPEC CPU benchmark suite.

For each step of the process that a submission passes, SPEC will compensate the Program Submitter (in recognition of the Submitter's effort and skill). A submission that passes all of the steps and is included in the next SPEC CPU benchmark suite will receive $5000 overall and a license for the new benchmark suite when released.

What is SPEC looking for?

Overall, the SPEC CPU benchmarks have provided performance metrics for comparing systems on a known compute-intensive workload, with emphasis on the system's processor, memory hierarchy and compiler. SPEC is expecting the next CPU benchmark suite to continue this trend.

SPEC has held to the principle that better benchmarks are based on applications, and these applications can come from any area of work. For example, the current SPEC CPU2006 suite includes applications from the following areas:

  • AI game theory
  • bioinformatics
  • chemistry
  • compilers
  • interpreters
  • data compression
  • fluid dynamics
  • physics
  • speech recognition
  • video processing
  • weather prediction

SPEC is not limiting consideration to just these areas. A proposed application may come from any area or field of work. It is also acceptable for parallel/threaded codes or applications to be submitted.

Criteria SPEC considers important for the next CPU benchmark suite

A good benchmark candidate is:

  • Used by real users
  • Compute bound, or can have its compute bound portion excerpted
  • Portable or can be ported to multiple hardware architectures and operating systems with reasonable effort
  • Represents the state of the art for the given field
  • Derived from a representative application
  • Capable of solving problems of varying sizes. SPEC CPU2006 used 3 workloads, in various capacities, for its benchmarks.
  • Reasonably predictable as to its code path. For example, minor differences in floating point accuracy across platforms should not cause the program/application to do wildly different work on those platforms.

The SPEC CPU Search Program Official Rules

  • No purchase is necessary to participate.
  • In all cases, the burden of proof is on the Submitters.
  • SPEC will evaluate the submitted benchmarks for inclusion in the suite.
  • All evaluation and awards are within the sole discretion of SPEC.

Who May Submit Benchmarks?

  • VOID WHERE PROHIBITED BY LAW. Not open to any employees or contractors of any of the SPEC member companies and their immediate families.
  • Entries may be submitted on an individual entrant basis (defined as a natural person), or on a group or team basis, in which case the registration and submission will identify a leader of such group or team.
  • Corporate entities are not eligible.
  • The award program is sponsored by Standard Performance Evaluation Corporation, 6585 Merchant Place; Suite 100, Warrenton, Virginia, 20187, U.S.A.

Participation Constitutes Agreement to Official Rules

  • Participation in the Search Program constitutes Submitter's full and unconditional agreement to and acceptance of these Official Rules.

Timing

  • Submissions for the first step in the search program will be accepted by SPEC beginning 11 November 2008 and ending 30 June 2010 (11:59 pm, Pacific Standard Time).
  • Status updates through the rest of the process will be provided to the Submitters at least every three months until the release of the next SPEC CPU suite.

How To Enter

Step 1: Complete the legal paperwork

Submit a CPU Search Program Proposal to SPEC.

All Submitters must provide SPEC with the following information:

  • the Submitter's name and contact information (email address and shipping address),
  • the name of the program/application,
  • the programming(s) language used in the program/application and approximate lines of code,
  • a description of what the program/application does and how it is used, and
  • a statement declaring that the Submitter has the authority to give SPEC the right to distribute the program/application as part of a SPEC benchmark suite.

This should be done through the entry form found at: http://www.spec.org/cpu/cpuv6/entry_form.html

Upon receipt of the proposal, the SPEC CPU Subcommittee will acknowledge its receipt within seven (7) working days. Within four (4) weeks, the SPEC CPU subcommittee will notify the Submitter as to whether or not SPEC wishes to further evaluate the entry.

If SPEC wishes to further evaluate the entry, the Submitter must provide a signed "Permission to Use" form for the submitted code, input sets and any other material provided to SPEC. Additionally, any documents provided by the SPEC office for tax purposes need to be completed and returned to SPEC.

Once the Permission To Use form has been received, and signed by both the Submitter and SPEC, technical work may begin.

Step 2: Initial porting ($1000 upon successful completion)

If accepted for entry into Step 2, SPEC will provide the Submitter with a copy of the SPEC benchmark framework and information on how to prepare the program/application.

The Submitter, with the assistance of a SPEC-assigned primary contact, must now prepare the Submitter's program/application code for submission to SPEC and submit it to SPEC.

In order to complete this step, the Submitter must complete the following:

  • Ensure that the program/application can be built and run within the SPEC toolset ("runspec", described at www.spec.org/cpu2006/docs/runspec.html).
    • A copy of the toolset will be provided, and SPEC can assist with the process of converting code to use the tools.
    • Note that SPEC's approach to porting benchmarks does not allow the use of an automatic configuration process such as GNU autoconf or Metaconfig for each target platform.
    • In some cases, this may require a significant effort to re-work the benchmark.
    • The use of -D compilation switches for portability is allowed, where needed.
  • Ensure that any Platform dependent code (e.g. gcc-specific extensions and GNU-specific header files) within the program/application is disabled, unless needed for portability.
  • Include an initial input data set that demonstrates compute-bound behavior.
    • At this stage, any data set will suffice that runs for at least one minute when compiled with basic optimization, such as "-O" on a machine with a SPECint_base2006 rating of ~15.
    • Note that later steps will require other problem sizes.
  • Include a set of expected outputs that demonstrate correct operation with the supplied input data set.
  • Demonstrate that correct answers are obtained on both a system running Microsoft Windows and a system running Unix (such as AIX, BSD, HP-UX, Linux, Mac OS X, or Solaris) when compiled with basic optimization (e.g. "-O").
  • Provide a completed SPEC Benchmark Description file, including a description of how workloads can be created for the program/application
  • For C/C++ programs:
    • return an exit code of 0 if it runs successfully, or non-zero otherwise.
    • for the main routine, take one of these two forms:

    int main(void); 
         or 
    int main(int argc, char * argv[]); 
    

If, in SPEC's sole judgment, the submission does not meet these criteria, the Submitter will be notified as to what expectations were not met.

If the submitted code meets these criteria, the Submitter is awarded $1000 and the submission enters Step 3.

Note that SPEC, in its sole judgment, may decide at any time to discontinue work on a submission.

Step 3: Provide workloads and demonstrate profile ($500 upon successful completion)

During Step 3, the Submitter will need to provide 3 workloads:

  • A proposed small test input with validation output. The test input should provide a short test (perhaps 20 seconds) to confirm that the compiled program/application is functional.

  • A proposed medium training input with validation output. This input should run for 10-25% of the runtime of the reference workload and reflect a typical usage (in the Submitter's opinion) of the submitted program/application. This input will be considered as input for use with compilers that do feedback directed optimization.

  • A proposed reference workload which requires 10 to 20 minutes to run, when compiled with basic optimization (such as -O), on a system with a SPECint_base2006 rating of ~15.
    • Note that SPEC is likely to adjust requirements for both run time and memory footprint of the workload, based on cost of benchmarking, and final requirements for the benchmark suite.
    • Flexibility as to problem size, and a variety of input sets, is a big plus in a benchmark candidate.

When the above are completed, SPEC will profile the benchmark with the supplied workload, and expects that:

  • At least 95% of the time is compute bound on both Windows and Unix. This requirement will not be waived.
  • At least 95% of the execution time is spent in the supplied code. SPEC may consider granting waivers for this requirement where it can be demonstrated that library code - such as exp, or malloc - is typical of the application area. Such waivers will be solely at SPEC's discretion.

If, in SPEC's sole judgment, the submission does not meet these criteria, the Submitter will be notified as to what expectations were not met.

If the submitted code meets these criteria, the Submitter is awarded $500 and the submission enters Step 4.

Note that SPEC, in its sole judgment, may decide at any time to discontinue work on a submission.

Step 4: Complete Code Testing and Benchmark Infrastructure ($1000 upon successful completion)

During Step 4, the candidate must:

  • Demonstrate to SPEC's satisfaction that the benchmark runs on a wide variety of additional systems, including (but not limited to) little endian and big endian systems; Unix, Linux, Mac OS X, and Windows systems; and systems with varying memory models (e.g. "LP64", "P64", and so forth).
  • Respond to questions that arise when compilers employ more advanced optimization techniques.
    • It is typical to discover that -O5 exposes problems that are not seen with -O
    • at this stage, analysis is done to try to determine whether failures are due to the benchmarks, or due to the compiler/os.
  • Resolve standards problems to SPEC's satisfaction. SPEC always prefers to use code that conforms to the relevant language standards. It is understood that in rare cases this may not be practical (e.g. for entrenched user practices that are, in fact, commonly accepted by compilers.)
  • Complete remaining items in the SPEC infrastructure, such as "flags files", and ensure that all remaining portability problems are documented and/or fixed.
  • As needed, adjust the workload to meet SPEC's requirements

If, in SPEC's sole judgment, the submission does not meet these criteria, the Submitter will be notified as to what expectations were not met.

If the submitted code meets these criteria, the Submitter is awarded $1000 and the submission enters Step 5.

Note that SPEC, in its sole judgment, may decide at any time to discontinue work on a submission.

Step 5: Recommendation to the Open System Group (no monetary award)

If the program/application is accepted by the SPEC CPU Subcommittee and meets all criteria, including those stated in Steps 1 to 4, the CPU Subcommittee will consider whether to recommend the benchmark to the SPEC Open Systems Group for inclusion in the new suite.

If the CPU subcommittee recommends the program/application for inclusion in the new suite, the submission moves to Step 6. (No monetary award is associated with this step.)

Otherwise, the SPEC CPU Subcommittee will notify the Submitter that the submission was removed from consideration.

Step 6: Acceptance into the CPU Suite ($2500 if accepted)

If the program/application is recommended to and is accepted by the Open Systems Group, in its sole discretion, then the program/application is included in the suite and the Submitter will receive $2500 and a license for the suite when it is released.

Number of Entries and Return of Entries

Submitters may enter as many times as they wish. However, each entry must be accompanied by a separate registration. Sponsor will not return any entries to the Submitters.

Personal Data

Sponsor will use its best effort to use personal data about Submitter only for the administration of the award program, in accordance with these Official Rules and for internal marketing purposes. Submitter agrees to such use of the personal data.

Important Terms

Sponsor is not responsible for lost, late, incomplete, illegible or misdirected mail or e-mail, for failed, partial or garbled computer transmissions, or for technical failures of any kind. Sponsor reserves the right to cancel or modify the awards if fraud, technical failures or other events or circumstances impair the integrity of the award program as determined by Sponsor in its sole discretion.

Submitter agrees that Sponsor's only obligations are to submit entries from eligible submissions to the SPEC CPU Subcommittee, according to the procedures and criteria set forth in these Official Rules, and to award the compensation set forth herein, to Submitters as criteria in SPEC's sole judgment are met, subject to the terms and conditions herein.

Submitter will be held harmless from any liability incurred from the intended or unintended use of the application as a benchmark or application.

Submitter agrees that Sponsor's obligations are solely to fairly and adequately consider any entry submitted, and that Submitter is not entitled to and shall not seek any further compensation.

Submitter hereby grants Sponsor a perpetual, non-exclusive license to copy, modify, display, distribute, and sub-license the entry without geographical limitations or further compensation to Submitter of any kind, provided that Sponsor's sole use of the entry will be for the purposes of inclusion of the entry in Sponsor's CPU benchmark suite. Submitter agrees that e-mail shall satisfy any writing requirement, which may apply to intellectual property licenses. Upon request of Sponsor, Submitter agrees to obtain written consent from the owner of the copyright in the program/application, if that person is not Submitter, and to execute any documents required to effectuate the terms of these Official Rules.

Submitter warrants that it has the right to submit this program/application and information to SPEC and to grant the license rights granted herein, and that to Submitter's knowledge use of the program/application will not infringe or violate any intellectual property rights (including but not limited to patent, trademark, trade secret, and copyright) or license rights of any third party. Submitter agrees to notify SPEC of any claim of such infringement or violation within fifteen (15) days of its receipt of the claim. Submitter shall defend, indemnify and hold harmless SPEC, its successors, assigns and licensees for all costs (including attorneys' fees) arising out of any breach of these warranties and representations.

All issues and questions concerning the construction, validity, interpretation and enforceability of these Official Rules, or the rights and obligations of Submitter and Sponsor in connection with the Award Program, shall be governed by, and construed in accordance with, the laws of the Commonwealth of Virginia, U.S.A., without giving effect to any choice of law or conflict of law rules or provisions (whether of the Commonwealth of Virginia, U.S.A., or any other jurisdiction), which would cause the application of the laws of any jurisdiction other than the Commonwealth of Virginia, U.S.A.

Taxes, customs duties, fees, freight charges and other related charges, on prizes are the sole responsibility of the winners. Winners may waive the right to receive compensation. Sponsor will reimburse winners up to U.S. $1,000 for payments made for customs duties, fees, freight charges (but not taxes, including taxes on income, goods and services, and value added taxes), upon presentation by submittal of original and official receipts for such payments.

Submittal Notification

Submitters will be notified by registered mail of their entry's successful completion of each step and may be required to complete an affidavit of eligibility and publicity release (except where prohibited by law), which must be returned within 20 days of receipt by Submitter. Failure to sign and return the affidavit or release or to comply with any term or condition in these Official Rules may result in disqualification and forfeiture of compensation.

This Program is subject to all applicable laws. Void where prohibited.

All questions about the search program can be directed to SPEC at info@spec.org.