Task skipping
Task skipping is an approximate computing technique that allows to skip code blocks according to a specific boolean condition to be checked at run-time.[1]
This technique is usually applied on the most computational-intensive section of the code.
It relies on the fact that a tuple of values sequentially computed are going to be useful only if the whole tuple meet certain conditions. Knowing that a value of the tuple invalides or probably will invalidate the whole tuple, it is possible to avoid the computation of the rest of the tuple.
Code example
The example that follows provides the result of task skipping applied on this C-like source code
for ( int i = 0; i < N; i++ ) {
value_1 = compute_1(i);
value_2 = compute_2(i);
}
Skipping a task
for ( int i = 0; i < N; i++ ) {
value_1 = compute_1(i);
if ( value_1 >= fixed_threshold ) {
value_2 = compute_2(i);
}
}
See also
References
- ↑ Mittal, Sparsh (May 2016). "A Survey of Techniques for Approximate Computing". ACM Comput. Surv. ACM. 48 (4): 62:1–62:33. doi:10.1145/2893356.
This article is issued from Wikipedia - version of the 11/19/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.