Προς το περιεχόμενο

Stream processor???


natso17

Προτεινόμενες αναρτήσεις

μπορεις να κοιταξεις και στην wikipedia : http://en.wikipedia.org/wiki/AMD_FireStream

 

Χοντρικα τελειως σε λίγες γραμμες ειναι το εξης:

 

Οι stream processors ή cuda cores (ATI /nvidia αντιστοιχως) ειναι μικρές σε μεγεθος και δυνατότητες, αλλα πολλές σε αριθμό, μονάδες επεξεργασιας (mini επεξεργαστες)που εχουν οι καρτες γραφικών για να επεξεργαζονται τα εφφε στα γραφικά των παιχνιδιών και οχι μονο αλλα κυρίως αυτό κανουν (η nvidia cores τρεχουν και cuda/physX κτλ ). Να ξερεις οτι η επεξεργασια των γραφικών γίνεται ανα pixel οποτε ο κάθε τετοιος μικροπυρηνας αναλαμβανει να κανει μια δουλεια ανα pixel. δηλαδη να εφαρμόσει τα textures ή τα εφφε σε εναν μικρό αριθμό απο pixel.

 

Προφανως οσο πιο πολλοι ειναι αυτοι οι μικροεπεξεργαστες και όσο πιο ψηλα τρεχουν σε συχνότητα τοσο καλύτερη ειναι η καρτα.

 

ΔΕΝ ΜΠΟΡΕΙΣ ΟΜΩΣ ΝΑ ΣΥΓΚΡΙΝΕΙΣ ΑΡΙΘΜΟΥΣ ΚΑΙ ΣΥΧΝΟΤΗΤΕΣ ΑΠΟ microprocessors ΣΕ ΚΑΡΤΕΣ ΑΤΙ VS NVIDIA καθως τα cuda cores και τα stream processors δεν εχουν αντιστοιχία 1-1, γιατι ειναι αλλη η αρχιτεκτονική (πχ αν δεις μια ATI καρτα να εχει ξερω γω 1500 stream processors δεν σημαινει οτι ειναι καλύτερη ή χειροτερη απο μια nvidia με 480 cuda cores, όμως θα εινια καλύτερη απο μια ΑΤΙ με 1000 )

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Και για τις GeForce χρησιμοποιείτε συχνά πυκνά ο όρος stream processor. Συνήθως αντιπροσωπεύει ένα ALU lane όπου ALU = arithmetic logic unit.

 

conkal,

 

Να ξερεις οτι η επεξεργασια των γραφικών γίνεται ανα pixel οποτε ο κάθε τετοιος μικροπυρηνας αναλαμβανει να κανει μια δουλεια ανα pixel. δηλαδη να εφαρμόσει τα textures ή τα εφφε σε εναν μικρό αριθμό απο pixel.

 

Καταλαβαίνω απόλυτα πως το εννοείς αλλά φοβάμαι ότι ίσως τον μπερδέψεις λίγο. ΄Οταν μιλάμε για ALUs (και τις υποδιαιρέσεις αυτών) μιλάμε για προγραμματιζόμενες μονάδες που κυρίως χειρίζονται πολύπλοκους μαθηματικούς υπολογισμούς. Χωρίς fixed function logic όπως TMUs (texture mapping units) και ROPs (render outputs) π.χ. τα ALUs είναι πιο κοντά σε μια CPU (general purpose processor) παρά σε μια GPU. Στο λιγότερο προβλέψιμο μέλλον πιθανότατα να ξεφορτωθούν οι graphics IHVs κομμάτι ή όλη την fixed function λογική στις GPU (αν και αυτό αμφίβολο είναι) αλλά προς το παρών έχεις ff logic για texture address (TA) & texture filtering (TF) σε αυτό που καλούμε TMUs για την επεξεργασία & φιλτράρισμα υφών. Βάλε μια CPU να σου φιλτράρει υφές και θα κάνει αιώνες ;)

 

Σωστότατος ο διαχωρισμός σου όσων αφορά τις αρχιτεκτονικές, με την μικρή διαφορά ότι σύντομα οι τόσο μεγάλες διαφορές να γίνουν πολύ μικρότερες από τώρα.

 

--------------------------------------------------------

 

Στις σημερινές Tahiti (Radeon 79xx) και οτιδήποτε Southern islands έχουμε τα λεγόμενα compute units (CU). Κάθε CU αποτελείται από 4*16SPs όπου τα SPs μπορεί κανείς είτε να τα δει ως SIMD16 ή Vec16 όπως τον βολεύει η ορολογία. Κάθε CU συνοδεύεται και από μια τετράδα TMUs και είναι το ελάχιστο που μπορεί κανείς να χρησιμοποιήσει με τέτοιες αρχιτεκτονικές σε ενσωματωμένες GPU σε SoC π.χ. Φυσικά θα μπορούσε να απενεργοποιηθεί και μια 16άδα αλλά αυτό κυρίως για να μην πετάξει τους πυρήνες που δεν λειτουργούν σωστά όλες οι μονάδες. Πραγματική αυτονομία σαν μονάδες κάτω από το 1CU ή 64SPs δεν υπάρχει. Σε αντιδιαστολή η Intel στο πάλαι ποτέ Larabee ή σήμερα Knights corner καλεί κάθε Vec16 σαν "core".

 

Στις μέχρι σήμερα GeForce τώρα και μέχρι και Fermi έχουμε για το GF110/100 (GTX480/470/465/460/580/570/560Ti 448c) σαν cluster ή compute unit 2*16SPs ή 2*SIMD16 ή 2*Vec16. Μιας και οι πιο πάνω Radeon δεν είναι πια VLiW όπως στο παραλθόν αλλά scalar ή 1D, η μεγαλύτερη διαφορά που απέμεινε μέχρι στιγμής είναι ότι τα ALUs στις μέχρι σήμερα Fermi GPUs τρέχει σε διπλάσιο χρονισμό από τον πυρήνα. Στην GTX580 για παράδειγμα ο πυρήνας τρέχει στα 772MHz και τα ALUs στα 1544ΜΗz και είναι και ο κύριος λόγος που έχει τόσα λιγότερα SPs μια σημερινή GeForce από μια Radeon.

 

Tahiti CU=

4*16 = 64SPs * 2 FLOPs * 0.925GHz = 118.4 GFLOPs

 

GF1x0 SM=

2*16 = 32 SPs * 2 FLOPs * 1.544GHz = 98.8 GFLOPs

 

FLOP = floating point operation

each SP = 2 FLOPs = 1 multiply (1 FLOP) + 1 add (1 FLOP)

multiply = MUL

add = ADD

MUL + ADD = MADD

 

Ελληνικά κάθε floating point operation αποτελείται από έναν πολλαπλασιασμό και μια πρόσθεση. Επειδή κάθε SP/stream processor μπορεί να κάνει από έναν πολλαπλιασμό και μια πρόσθεση υπολογίζουμε 2 floating point operations (FLOPs) ανά SP.

 

GFLOP = gigaflop = 100 FLOPs

TFLOP = terraflop = 1000 FLOPs

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καλα ρε συ αιλουρε πιστευεις οτι καποιος που δεν ξερει καν τι ειναι ο stream processor θα καταλαβει καλυτερα αυτο που λες απο αυτο που του γραφω πιο πανω?

 

Μια μικρη διορθωση : Επεξεργασια κανουν ανα vertex / fragment

 

Στο opengl / glsl λεγονται vertex-fragment , στο directx vertex / pixel ειναι το ιδιο πραγμα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καλα ρε συ αιλουρε πιστευεις οτι καποιος που δεν ξερει καν τι ειναι ο stream processor θα καταλαβει καλυτερα αυτο που λες απο αυτο που του γραφω πιο πανω?

 

Ας του λέγαμε τότε ότι είναι κουρκουμπίνια που φτιάχνονται από μαλλί γριάς στα λούνα παρκ. Σε τεχνολογικό forum είμαστε και έκανε μια ερώτηση τεχνικής φύσεως. Το αν εγώ ήμουν υπερβολικά φλύαρος ή αναλυτικός δεν είναι καν το θέμα συζήτησης ούτε σκέφτομαι αν θα καταφέρω να φτύσω πιο μακριά από κάποιον άλλο.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

@conkal

 

Συμφωνω μαζι σου, αλλα τα pixels του direct3D δεν εχουν καμια σχεση με τα pixels της οθονης. Τα fragments/pixels ( openGL/direct3D ) ειναι ιδια με τα pixels της οθονης οταν δεν υπαρχει antialiasing ,δηλαδη fragment = screen pixel .Οταν εχεις antialiasing , τοτε εχεις πολλαπλα fragments για καθε pixel ...

Κατα τη γνωμη μου η ονομασια "pixel" στο direct3D ειναι λανθασμενη , ενω της openGL σωστη , γιατι πολυ απλα δεν αναφερεται σε pixels στη γενικη περιπτωση !

Επεξ/σία από ChRis6
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

@chris : ναι οκ σωστος . Το ειχα ξεχασει το ΑΑ:-)

 

@αιλουρος : Δεν προσπαθησα να σου την πω , απλα για να ρωταει το παλικαρι υποθετω οτι ειναι τελειως αρχαριος, διαβασε wikipedia-google ktl και παλι δεν τα καταλαβε οποτε τα δικα σου ηταν πολυυυυυ μακρινο φτύσιμο;-) Σωστο , ταιριαστο στο φορουμ αλλα πολυ μακρυνο για το θρεντ αυτο! (Ασε που νομιζω οτι εμεις γραφουμε και το παλικαρι δεν ξεναπατησε εδω:-))

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

@chris : ναι οκ σωστος . Το ειχα ξεχασει το ΑΑ:-)

 

@αιλουρος : Δεν προσπαθησα να σου την πω , απλα για να ρωταει το παλικαρι υποθετω οτι ειναι τελειως αρχαριος, διαβασε wikipedia-google ktl και παλι δεν τα καταλαβε οποτε τα δικα σου ηταν πολυυυυυ μακρινο φτύσιμο;-) Σωστο , ταιριαστο στο φορουμ αλλα πολυ μακρυνο για το θρεντ αυτο! (Ασε που νομιζω οτι εμεις γραφουμε και το παλικαρι δεν ξεναπατησε εδω:-))

 

Δεν το πήρα καν προσωπικά. ΄Οπως και να΄χει διαβάζουν και άλλοι εδώ. Εγώ μια φορά την κάνω την προσπάθεια ακόμα κι αν είναι εις μάτην.

 

Για να μην το ξεχάσω μην ξεχνάτε το GPGPU για >DX9 ALUs.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν το πήρα καν προσωπικά. ΄Οπως και να΄χει διαβάζουν και άλλοι εδώ. Εγώ μια φορά την κάνω την προσπάθεια ακόμα κι αν είναι εις μάτην.

 

Για να μην το ξεχάσω μην ξεχνάτε το GPGPU για >DX9 ALUs.

Don't give up your day job...

Δεν είσαι καθόλου καλός στο να εξηγείς στο ανυποψίαστο κοινό τις λεπτομέρειες των GPUs.

Περισσότερο μπερδεύεις τα πράγματα παρά τα εξηγείς :P

Δεν γεννιούνται κάθε μέρα Isaac Asimov και Arthur Clarke.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...