Loop perforation
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]
- ^ (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]
- (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.