Ανακεφαλαιώνοντας
λοιπόν...
Η εύρεση των εξαρτήσεων ενός προγράμματος είναι ένα σημαντικό κομμάτι τριών εργασιών :
- Καλός προγραμματισμός του κώδικα.
- Καθορισμός των βρόχων που μπορεί να περιέχουν παραλληλισμό.
- Εξάλειψη των εξαρτήσεων ονόματος.
Σε πολλούς παράλληλους βρόχους ο βαθμός της παραλληλίας περιορίζεται μόνο από τον αριθμό των αναπτύξεων, ο οποίος περιορίζεται μόνο από τον αριθμό των επαναλήψεων του βρόχου.
Μία απλή και επαρκής εξέταση για την απουσία εξάρτησης είναι ο μέγιστος κοινός διαιρέτης (GCD). Βασίζεται στην παρατήρηση ότι, εάν υπάρχει εξάρτηση μεταφερόμενη με τον βρόχο, τότε ο μέγιστος κοινός διαιρέτης των (c,a) πρέπει να διαιρεί το (d-b).
Η σωλήνωση λογισμικού αναδιοργανώνει τους βρόχους έτσι ώστε, κάθε επανάληψη του σωληνωμένου λογισμικού κώδικα να σχηματίζεται από εντολές επιλεγμένες, από διαφορετικές επαναλήψεις του αρχικού βρόχου.
Ο Προγραμματισμός ανίχνευσης επεκτείνει την ανάπτυξη του βρόχου με μία τεχνική για εύρεση παραλληλισμού διαμέσου διακλαδώσεων υπό συνθήκη, εκτός από τις διακλαδώσεις του βρόχου.
|