FPBench is a standard benchmark suite for the floating point community. The benchmark suite contains a common format for floating-point computation and metadata and a common set of accuracy measures:
- The FPCore input format
- Metadata for FPCore benchmarks
- Standard measures of error
FPBench 1.0 defines the meaning of the following properties:
- A string name for the benchmark. If a name is needed and not provided, we recommend using the body expression.
- A string description for the benchmark and its inputs. We recommend describing the physical meaning and units of inputs when applicable.
- A list of symbols that describe the sources of the benchmark. We recommend making available a BibTeX file which uses the same symbols as keys.
Describes the floating point precision used for floating point
values in the expression. It is expected to be a symbol for one of
the IEEE-754 names (such as
binary64). If no
:precisionproperty is specified, implementations should assume
- A precondition on inputs to the benchmark. Tools should not use points that fail the precondition to determine the accuracy of the benchmark. It is expected to be an expression that returns a boolean value.
The library used in the source to implement floating-point
operations. It is expected to be a symbol identifying a library
implementation and version, such as
Additionally, properties prefixed by the name of a tool (such
:xxx-foobar) are reserved for definition by that
tool. Only that tool may define the meaning of those properties;
other tools should not depend on the meaning of those
properties, nor must the defining tool keep the meaning constant.