|
|
|
|
Accelerating seismic computations using customized number representations on FPGAs |
Precision and range are key resources to be traded off against the
performance of a computation. We looked at three different types of
number representation: fixed-point, floating-point and logarithmic.
Consider the case when
is represented as a fixed-point
number, with an integer part
which is
bits in length, and a
fraction part
which is
bits in length.
|
|
|
The integer bit-width, which represents the dynamic range of the number, is calculated according to equation (1):
| (1) |
For the floating-point number system, let
represent a
floating-point number
, where
is
the sign bit,
is the mantissa with a bit-width of
bits, and
is the exponent with a bit-width of
bits.
The value of the mantissa
is expressed as:
![]() |
(2) |
where
.
It is possible to relate the bit-width
of the mantissa of the
node to the error when representing the mantissa by a finite
bit-width
, as follows:
where
is the value of the exponent at the node.
Since there is no standard to encode logarithmic numbers, in this report we use a fixed-point format to store the logarithmic value.
|
|
|
|
Accelerating seismic computations using customized number representations on FPGAs |