Fixed point representation binary trading
5 stars based on
To receive news and publication updates for International Journal of Reconfigurable Computing, enter your email address in the box below. Alonzo Vera et al. This is an open access article distributed under the Creative Fixed point representation binary trading Attribution Licensewhich permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
In Fixed point representation binary trading embedded systems, designers usually have to make a compromise between numerical precision and logical resources. Scientific computations in particular, usually require highly accurate calculations fixed point representation binary trading are computing intensive. In this context, a designer is left with the task of implementing several arithmetic cores for parallel processing while supporting high numerical precision with finite logical resources.
This paper introduces an arithmetic architecture that uses runtime partial reconfiguration to dynamically adapt its numerical precision, without requiring significant additional logical resources.
The paper also quantifies the relationship between reduced logical resources and savings in power consumption, which is particularly important for FPGA implementations. Finally, our results show performance benefits when this approach is compared to alternative static solutions within bounds on the reconfiguration rate. In the realm of embedded systems, a designer often faces the decision of what numerical representation to use fixed point representation binary trading how to implement it.
Particularly, when using programmable logic devices, constraints such as power consumption and area resources must be tradedoff with performance requirements. Floating point is still too expensive in terms fixed point representation binary trading resources to be intensively used in programmable logic devices.
Fixed-point is cheaper but lacks the flexibility to represent numbers in a wide range. In order to increase numerical range, several fixed-point units—supporting different number representations—are required.
Alternatively, numerical range can be increased by a single fixed-point unit able fixed point representation binary trading change its binary point position. In this paper, runtime partial reconfiguration RTR is used to dynamically change an arithmetic unit's precision, operation, or both. This approach requires intensive use of fixed point representation binary trading reconfiguration making it particularly important to take into consideration the time it takes to reconfigure.
This time is commonly referred to as the reconfiguration time overhead. Usually, runtime reconfigurable implementations involve the exchange of fixed point representation binary trading large functional units that have large processing times. This, along with low reconfiguration frequencies, significantly reduces the impact of the reconfiguration time overhead on the performance.
Unlike common runtime reconfigurable implementations, the exchangeable functional units in this approach are smaller, and reconfiguration frequencies are larger. Smaller exchangeable functional units are possible by using a dual fixed-point DFX numerical representation [ 1 ] which provides larger dynamic range than classical fixed-point representations with little extra cost in terms of hardware. We introduce a dynamic dual fixed-point DDFX architecture that allows changes in precision binary point position based on relatively small changes at runtime in the hardware implementation.
Although at a higher reconfiguration time cost, DDFX also allows the dynamic swap between different arithmetic operations. The improvements in dynamic range and precision allow this approach to find potential applications in problems where only a floating-point solution made sense before. Numerical optimization algorithms are examples of such applications.
The iterative nature of these algorithms makes them especially susceptible to numerical issues arising from the use of fixed-point arithmetic. Furthermore, these algorithms usually require extensive calculations, making them good candidates for performance speed-up through parallelization. In that sense, the smaller hardware footprint of our approach is an advantage as it allows a larger number of DDFX units as opposed to a reduced number of larger floating-point units.
The architecture is compared with hardware implementations of floating-point, fixed-point, and a gcc software emulation of floating point. These alternatives were chosen for comparison because of their widespread use in the industry and their availability for testing. Comparisons are made in terms of resources, power consumption, performance, and precision.
Data width is kept constant across comparisons. When comparing resources and power consumption, implementations with similar precision are used. When comparing performance, implementations with similar precision and resource consumption are used. For performance, the architecture is evaluated in the context of linear algebra, which is widely used in scientific calculations. Linear algebra operations are broken into vector operations, and performance is measured in terms of operations per second.
The architecture is ported to two of the latest Xilinx device families in order to compare how the families' architectural differences impact the effectiveness of the dynamic approach. We also present simulation results on the use of DDFX for inverting large matrices. For the Jacobi method, for inverting large linear systems, it is shown that DDFX's results closely approximates that of double precision floating-point.
The paper is organized into six sections. In Section 2we provide an overview of numerical representations and provide further motivation for dynamic precision. In Section 3we provide an overview of reconfigurable computing with a particular emphasis on dynamically reconfigurable architectures.
We present the proposed dynamic arithmetic architecture in Section 4. A summary of testing platforms and methodology is given in Section 5. Results are given in Section 6. Concluding remarks are provided in Section 7. Dynamic range is a quantitative measurement of the ability to represent a wide range of numbers, and it is defined by the relationship between the largest and smallest magnitudes that a numerical format can represent.
For instance, a bit wide fixed-point format with no binary point can represent a number as large as 2 15 —1 and as small as 1. Precision is the accuracy with which the basic arithmetic operations are performed [ 2 ].
In floating-point arithmetic, precision is measured by the unit roundoff such that for some satisfying. Here, denotes the evaluation of an expression in floating point arithmetic, for all of the basic arithmetic operations: This definition is extensible to fixed-point representations as well. A numerical algorithm's precision fixed point representation binary trading convergence characteristics can benefit from a variable or mixed arithmetic precision implementation [ 3 — 5 ].
Constantinides demonstrated in [ 6 ] that determining the optimal word-length fixed point representation binary trading area, speed, and error constraints is an NP-hard fixed point representation binary trading. There are, however, several published approaches to word length optimization. They can be categorized into two main strategies [ 7 ]. Analytical methods attempt to determine the fixed point representation binary trading range and precision requirements for each operation based on the input variables representations.
Starting from the representation of the input variables, analytical methods generate approximate representations for each operation, in a consecutive order. The goal is to then provide minimum precision and range requirements for each variable so as to guarantee a certain level of accuracy in the final result.
A comparative study of the performance of these techniques is presented in [ 8 ]. A number of practical applications, where one or several optimal word lengths have been calculated using either analytical or simulation approaches have been reported in the literature. In [ 910 ], the authors describe QRD-RLS algorithms in which the precision was evaluated through an iterative method to fit the application requirements and resource constraints.
In [ 11 ], an optimal word-length implementation for an LMS equalizer is presented. In this case, a variable-precision multiplier is implemented such that the word length can be adapted according to different modulation schemes.
In this case, not only resource constraints have to be met, but also energy power consumption and datapath frequency of operation constraints. An alternative to defining a priori the optimum word length for fixed point representation binary trading specific implementation is to have resources available with multiple word lengths.
In [ 5 ], the authors present a linear algebra platform based on the use of floating point arithmetic with different formats, in an effort fixed point representation binary trading exploit lower precision data formats whenever possible to reach higher performance levels. In [ 1213 ], the authors formulate analytical and heuristic techniques to address the scheduling, allocation, and binding of resources under latency constraints of multiple precision resources.
A common limitation of the approaches in [ 51213 ] is an area penalty. Analytical approaches also include methods on interval arithmetic, affine arithmetic, and Handelman representations. In interval arithmetic [ 14 ], numbers are represented by an interval of the minimum and maximum values: A basic problem with interval arithmetic comes from the fact that it does not capture any correlations between the variables.
Affine arithmetic provides a model that can describe correlations via the use of first-degree polynomials to represent the numbers. For example, an affine form for variable is given by [ 1516 ]: The key idea here is that first-order correlations can be modeled, allowing for much tighter bounds.
An example of the advantages of affine arithmetic over interval arithmetic is given by MiniBit in [ fixed point representation binary trading ]. Even more promising is the recent use of polynomial representations due to Handelman [ 17 ]. Beyond first-order correlations, the use of polynomial representations allows for an effective model for multiplications and nonlinear functions.
The main challenge for optimal word-length calculation in iterative algorithms is the fact that required precision is dependent on the number of iterations loops. In [ 1920 ], a precision variation curve is defined as a sequence of pairswhere is the minimum required precision and is the number of iterations. For example, the precision of a variable after iterations of a loop which contains the statement is upper bounded by: Figure 1 shows how 's precision requirement increases with the number of iterations for a starting precision of 8 bits.
This curve represents an upper bound for a full precision arithmetic operation. For instance, numerical optimization algorithms are a specially complex subgroup of iterative algorithms. They require the same increase in precision as the number of iterations increases, but they can also benefit from low precision in early iterations [ 45 ]. Thus, a dynamic precision arithmetic can improve both numerical stability reduce quantization errors and convergence speed.
We will present a related application in the inversion of large matrices using an iterative method. Alternatively, there is also a tradeoff between the number of iterations and the precision used in each iteration [ 21 ].
In [ 21 ], the authors show that the use of a larger number of iterations at a lower precision can yield to significant speedups over the standard practice of using double precision in a smaller number of iterations.
For a model predictive control application, the authors report an average speedup of of a Virtex 5 implementation compared to a high-end CPU running at 3.
The authors present a conjugate gradient method implementation for solving the generated linear system of equations. The authors also investigated the effects of a range change of the floating-point mantissa from 4 to 55 bits.
In this paper, our focus is on the solution of large linear systems using a dynamic fixed point representation binary trading that can change after each iteration. While our general framework allows changes in the number of significant bits as in [ 21 ]for Jacobi iterations, we show that a much simpler approach of simply changing the range of the dual-fixed-point representation can actually deliver the same accuracy as a double-precision floating-point representation.
By dynamic precision we refer to a scheme in which a hardware implementation of an arithmetic operation changes in time to adapt its precision change fixed point representation binary trading the binary point position according to its needs.
This scheme can be accomplished by using runtime partial reconfiguration to reconfigure arithmetic modules as long as the reconfiguration time overhead is small as compared to the algorithm execution time. The reconfiguration time overhead can be decreased by reducing the amount of hardware changes required to varying precision, and by reducing the number of times precision changes are required reconfiguration frequency.
Thus, we want to consider numerical representations with small hardware footprint and with a large dynamic range.