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:
FPCore metadata properties
The metadata properties allow describing additional information about each benchmark, such as their name, description, precision, citations, or preconditions.
FPBench 1.0 defines the meaning of the following properties:
- :name
- A string name for the benchmark. If a name is needed and not provided, we recommend using the body expression.
- :description
- A string description for the benchmark and its inputs. We recommend describing the physical meaning and units of inputs when applicable.
- :cite
- 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.
- :precision
-
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
binary32
andbinary64
). If no:precision
property is specified, implementations should assumebinary64
floating-point values. - :pre
- 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.
- :math-library
-
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
gnu-libm-2.34
.
Additionally, properties prefixed by the name of a tool (such
as :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.