Пропуск задачи - Task skipping

Пропуск задачи является приблизительное вычисление техника, позволяющая пропустить блоки кода в соответствии с конкретным логический состояние, которое нужно проверить на время выполнения.[1]

Этот метод обычно применяется к наиболее ресурсоемким участкам кода.

Он основан на том, что кортеж последовательно вычисляемых значений будут полезны, только если весь кортеж удовлетворяет определенным условиям. Зная, что значение кортежа недействительно или, вероятно, сделает недействительным весь кортеж, можно избежать вычисления остальной части кортежа.

Пример кода

В следующем примере показан результат пропуска задачи, примененный к этому C -подобный исходный код

за (int я = 0; я < N; я++) {    значение_1 = compute_1(я);    значение_2 = compute_2(я);}

Пропуск задачи

за (int я = 0; я < N; я++) {    значение_1 = compute_1(я);    если (значение_1 >= fixed_threshold) {        значение_2 = compute_2(я);    }}

Смотрите также

Примечания

Рекомендации

  1. ^ Миттал, Спарш (май 2016 г.). «Обзор методов приближенных вычислений». ACM Comput. Surv. ACM. 48 (4): 62:1–62:33. Дои:10.1145/2893356.