Jump to content

User:Stefano.cherubin/sandbox

From Wikipedia, the free encyclopedia


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 examples

[edit]

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

[edit]
for ( int i = 0; i < N; i++ ) {
     value_1 = compute_1(i);
     if ( value_1 >= fixed_threshold ) {
         value_2 = compute_2(i);
     }
 }

See also

[edit]

Category:Computer science Category:Software optimization Category:Software engineering

Notes

[edit]
  1. ^ Mittal, Sparsh (May 2016). "A Survey of Techniques for Approximate Computing". ACM Comput. Surv. 48 (4). ACM: 62:1--62:33. doi:10.1145/2893356.