[Advcomparch] aporia sto erwtima 4

Nikos Anastopoulos anastop at cslab.ece.ntua.gr
Mon Jun 16 03:51:15 EEST 2008


xristos86 wrote:
>
> Otan leme oti gia na efarmostei register blocking tha prepei to 
> eswterikotero loop na periexei invariant anafores,auto de simainei oti 
> to eswterikotero loop tha prepei na einai ws pros tin metavliti k afou 
> o pinakas pou mas endiaferei einai o C[i][j]?
>
> I mipws exw mperdeutei?
> Oxi tpt allo,apla moy fainetai periergo,mias kai to eswterikotero loop 
> tis blocked ekdosis pou eftiaksa sto erwtima 3 den einai ws pros to k...
Νομίζω ότι η εκφώνηση το λέει καθαρά: στο 4.1 χρησιμοποιείτε την blocked 
έκδοση που κατασκευάσατε στο 3 για να εφαρμόσετε register blocking πάνω 
σε αυτήν. Το register blocking θα γίνει με βάση την αναφορά εκείνη η 
οποία είναι invariant ως προς το εσωτερικότερο loop (της blocked έκδοσης 
του ερ. 3), και μπορεί να μην είναι αναγκαστικά ο πίνακας C[i][j].
Το 4.4 είναι αυτό που ζητάει να κάνετε register blocking στα στοιχεία 
του C (εξηγεί η εκφώνηση με βάση ποιο σκεπτικό), σε περίπτωση που στο 
4.1 δεν ήταν ο C ο πίνακας πάνω στον οποίον κάνατε register blocking.

>
> Kai ena akoma erwtima,o specifier register pws prepei na 
> xrisimopoiithei?P.x. ws "register C[i][j]+=A[i][k]*B[k][j];" i kapws 
> alliws,giati ap' oso epsaksa,autos xrisimopoieitai kata ti dilwsi tis 
> metavlitis,pragma pou de sumvainei edw...
O storage class specifier "register" θα χρησιμοποιηθεί στη δήλωση των 
μεταβλητών οι οποίες θα αντικαταστήσουν τις αναφορές στα στοιχεία του 
πίνακα εκείνου ως προς τον οποίον κάνουμε το register blocking.
Π.χ., στο slide 35 των αντίστοιχων διαφανειών του μαθήματος, στην 
τελευταία τροποποίηση που έχουμε κάνει στον κώδικα, έχουμε τις αναφορές 
x[i][j], x[i+1][j], x[i][j+1], x[i+1][j+1]. Κάθε μία από αυτές θα πρέπει 
να αντικατασταθεί από αναφορά σε απλή float μεταβλητή, προσδιορισμένη 
κατά τη δήλωσή της ως "register". Θα πρέπει να φροντίσετε βεβαίως ώστε 
πριν και μετά το εσωτερικότερο loop να γίνονται σωστά οι αντιγραφές 
τιμών από τις αναφορές στον πίνακα προς στις αντίστοιχες "register" 
μεταβλητές, και πάλι πίσω.

Ν.

-- 
Nikos Anastopoulos, PhD Candidate

National Technical University of Athens (NTUA)
School of Electrical and Computer Engineering
Computing Systems Laboratory

e-mail: anastop at cslab.ece.ntua.gr
Tel: +30-210-7722279





More information about the Advcomparch mailing list