Loop perforation

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

Loop perforation (traducibile letteralmente come perforazione del ciclo) è una tecnica di calcolo approssimato che consente di saltare regolarmente iterazioni di un ciclo.[1]

Questa tecnica necessita di un parametro: il fattore di salto, detto comunemente detto skip factor. Lo skip factor può essere interpretato come il numero di iterazioni saltate ogni volta o come il numero di iterazioni da eseguire prima di saltarne una.

Esempi pratici[modifica | modifica wikitesto]

Gli esempi seguenti mostrano il risultato di una loop perforation applicata su questo codice sorgente in stile C.

for ( int i = 0; i < N; i++ ) {
     // corpo del ciclo
 }

Salta n iterazioni ogni volta[modifica | modifica wikitesto]

for ( int i = 0; i < N; i++ ) {
     // corpo del ciclo
     i = i + skip_factor;
 }

Salta una iterazione ogni n[modifica | modifica wikitesto]

int count = 0;
 for ( int i = 0; i < N; i++ ) {
     if (count == skip_factor) {
         count = 0;
     } else {
         // corpo del ciclo
         count++;
     }
 }

Note[modifica | modifica wikitesto]

  1. ^ (EN) Sparsh Mittal, A Survey of Techniques for Approximate Computing, in ACM Comput. Surv., vol. 48, n. 4, ACM, maggio 2016, pp. 62:1--62:33, DOI:10.1145/2893356.

Bibliografia[modifica | modifica wikitesto]

Voci correlate[modifica | modifica wikitesto]