Loop perforation

Abbozzo matematica
Questa voce sugli argomenti ingegneria del software e matematica è solo un abbozzo.
Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento.

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

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

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

Salta una iterazione ogni n

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

Note

  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

  • (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.

Voci correlate

  • Calcolo approssimato
  • Task skipping
  • Memoizzazione
  Portale Informatica
  Portale Matematica