Loop perforation

tecnica di calcolo approssimato che consente di saltare regolarmente iterazioni di un ciclo

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

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

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

Salta una iterazione ogni n modifica

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

Note modifica

  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

Voci correlate modifica