Jump to content

Task skipping

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.

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

[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]