[Advcomparch] Διευκρίνιση στην εκφώνηση της 4ης άσκησης
Nikos Anastopoulos
anastop at cslab.ece.ntua.gr
Fri Jun 18 10:50:43 EEST 2010
Καλημέρα,
On 06/18/2010 04:47 AM, Georgios Ioannidis wrote:
> Καλημέρα σας. Στο παράρτημα Α των εκφωνήσεων της 4ης σειράς αρχικοποιείτε τους
> πίνακες ως εξής:
>
> init_matrix(A, N);
> init_matrix(B, N);
> init_matrix(C, N);
>
> Τα στοιχεία του πίνακα C όμως δεν θα πρέπει να αρχικοποιηθούν στο 0; Γιατί
> έτσι όλα τα στοιχεία πλην του C[0][0] είναι μη μηδενικά και λόγω του "C[i][j]
> +=" που έπεται, το αποτέλεσμα που προκύπτει είναι ουσιαστικά C=A*A+A αντί για
> C=A*A. Αν και αυτό κανονικά δεν αναμένεται να επηρεάσει τα αποτελέσματά μας,
> σωστά;
>
Σε παραπέμπω σε αντίστοιχη ερώτηση που είχε γίνει για το ίδιο θέμα πέρυσι:
http://lists.cslab.ece.ntua.gr/pipermail/advcomparch/2009-June/000290.html
Η ουσία είναι ότι η αρχικοποίηση με αυτό τον τρόπο αποτρέπει τυχόν
"απρόοπτες" βελτιστοποιήσεις από τον compiler, που ενδεχομένως να
επηρέαζαν τον κώδικα που σε ενδιαφέρει να αξιολογήσεις.
Προφανώς, αν σε ενδιαφέρει το αποτέλεσμα του πολλαπλασιασμού ο C θα
πρέπει να είναι αρχικοποιημένος σε 0.
> Επί τη ευκαιρία στις διαφάνειες της "Lec6-caches-10.pdf", σελ. 33, υπάρχει το
> εξής: for (j = jj; j< min(jj+B-1,N); j = j+1)
> Το σωστό δεν θα έπρεπε να είναι: for (j = jj; j< min(jj+B,N); j = j+1) ??
>
>
Σωστά. Θα το διορθώσουμε.
Ν.
--
Dr. Nikos Anastopoulos
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-7724159
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cslab.ece.ntua.gr/pipermail/advcomparch/attachments/20100618/db2982aa/attachment.htm>
More information about the Advcomparch
mailing list