tmjuju Δημοσ. 11 Μαρτίου 2009 Δημοσ. 11 Μαρτίου 2009 Αχεμ… είστε απίστευτος συνδυασμός παλουκάρια μου!
Moderators GeorgeMan Δημοσ. 11 Μαρτίου 2009 Moderators Δημοσ. 11 Μαρτίου 2009 Αυτο ειναι το insomnia που θελουμε. Συνεχιστε ετσι παιδια
Delta² Δημοσ. 11 Μαρτίου 2009 Δημοσ. 11 Μαρτίου 2009 Από τις λίγες γνώσεις που έχω πάνω στο θέμα, έχω καταλάβει τα παρακάτω. Η υποβοήθηση που μπορεί να προσφέρει μία σύγχρονη κάρτα γραφικών στην αποκωδικοποίηση απαιτητικών video formats μπορεί να πάρει δύο μορφές: 1. Πλήρης αποκωδικοποίηση του video stream στην GPU. Αυτό επιτυγχάνεται με hardware, δηλαδή ένα τμήμα των transistors της GPU χρησιμοποιείται για την υλοποίηση μίας dedicated decoding engine. ATI και nVIDIA ονομάζουν τις αντίστοιχες τεχνολογίες τους UVD και PureVideo HD αντίστοιχα. Πλεονεκτήματα: Σχεδόν πλήρες offloading του video decoding στην κάρτα Εύκολη υποστήριξη σε προγραμματιστικό επίπεδο από τους software developers των video players (κλήσεις DXVA API ή VDPAU) Κατά τη γνώμη μου, όσον αφορά το video decoding μόνο, πιο ενδιαφέρουσα είναι η 1η προσέγγιση. Το GPGPU είναι άλλο φρούτο, έχει πολύ περισσότερες δυνητικές εφαρμογές και ήδη αξιοποιείται σε ορισμένες από αυτές με επιτυχία (scientific computing κάθε είδους). H προσέγγιση 1-αν δεν κάνω λάθος- είναι αυτή που στις κάρτες γραφικών αναφέρεται ως hardware video encode/decode αλλά μόνο πλήρες offloading δεν προσφέρει (τουλάχιστον όχι σε όλες τις κάρτες γραφικών, ίσως στις mainstream GPU πετσοκόβουν το video engine για να μειώσουν κόστος). Από ότι είδα υπάρχουν περιπτώσεις που το CPU utilization φτάνει το 60-70% σε σχετικά γρήγορους επεξεργαστές. Εξαρτάται πολύ πιστεύω από το φορμάτ του video, κάποια φορμάτ (π.χ HD720p) απλώς δεν υποστηρίζονται πλήρως (για την ακρίβεια φαίνεται ότι υποστηρίζονται ελάχιστα) από το hardware video encode/decode engine της GPU οπότε η περισσότερη δουλειά γίνεται στην CPU.
parsifal Δημοσ. 11 Μαρτίου 2009 Δημοσ. 11 Μαρτίου 2009 H προσέγγιση 1-αν δεν κάνω λάθος- είναι αυτή που στις κάρτες γραφικών αναφέρεται ως hardware video encode/decode αλλά μόνο πλήρες offloading δεν προσφέρει (τουλάχιστον όχι σε όλες τις κάρτες γραφικών, ίσως στις mainstream GPU πετσοκόβουν το video engine για να μειώσουν κόστος). Από ότι είδα υπάρχουν περιπτώσεις που το CPU utilization φτάνει το 60-70% σε σχετικά γρήγορους επεξεργαστές. Εξαρτάται πολύ πιστεύω από το φορμάτ του video, κάποια φορμάτ (π.χ HD720p) απλώς δεν υποστηρίζονται πλήρως (για την ακρίβεια φαίνεται ότι υποστηρίζονται ελάχιστα) από το hardware video encode/decode engine της GPU οπότε η περισσότερη δουλειά γίνεται στην CPU. Για τα υποστηριζόμενα video formats, το offloading του bitstream decoding stage είναι πλήρες. Αυτό δε σημαίνει ότι θα γλυτώνεις το CPU utilization που σχετίζεται με όλα τα υπόλοιπα παρακείμενα tasks που αναλαμβάνει ένας software video player κατά την αναπαραγωγή ενός αρχείου video (και το οποίο utilization κατά περιπτώσεις μπορεί να είναι υπολογίσιμο). Την αποκωδικοποίηση τη γλυτώνεις στην ολότητά της πάντως. Τώρα, ακόμη και για τα υποστηριζόμενα formats, υπάρχουν αρχεία που κατά τη δημιουργία τους δεν παραμετροποιήθηκε κατάλληλα το profile του encoder ή αυτός δεν υποστήριζε ακόμη την χρονική περίοδο που έγινε το decoding τις απαιτούμενες παραμέτρους ώστε να επιτευχθεί DXVA compliance (το πρόβλημα αυτό αφορούσε κυρίως τον x264 και encoding front-ends που τον χρησιμοποιούν. Πλέον πρέπει να θεωρείται non-issue, υπάρχουν σωστά DXVA profiles διαθέσιμα). Τέτοια αρχεία θα παίζουν χωρίς καθόλου επιτάχυνση από την GPU [1]. Πρόκειται για binary κατάσταση: on-off. Δε μπορείς να έχεις μερικό decoding του video stream από την GPU. Ή όλα ή τίποτα. Υπενθυμίζω ότι αναφέρομαι πάντα στη dedicated decoding engine, όχι σε CUDA-aware video codecs. [1] Κάποιοι players παρέχουν οπτική επιβεβαίωση για το πότε χρησιμοποιείται ή όχι η GPU. Π.χ. στον MPC-HC, με δεξί κλικ στην playback area > Filters > MPC Video Decoder θα δεις είτε: (ή κάτι παρόμοιο) είτε:
Delta² Δημοσ. 11 Μαρτίου 2009 Δημοσ. 11 Μαρτίου 2009 Το geometry acceleration στις GPU ξεκίνησε με μονάδες T&L (transform & lighting). Τα πρώτα υποτιθέμενα παιχνίδια "T&L" είχαν κάποια transformations και καθόλου ή ελάχιστο lighting. Η πρώτη μηχανή παιχνιδιού που είχε καθαρά T&L κωδικό ήταν το Unreal Engine2 (UT2003), όπου αν ακουμπούσες το παιχνίδι χωρίς μονάδα T&L στην GPU κατέληγες απελπιστηκά CPU limited, μιας και η κάρτα γραφικών φόρτωνε οτιδήποτε T&L στην CPU. Eδώ είμαστε ωστόσο ακόμα στην εποχή fixed function όσων αφορά τις μονάδες επιτάχυνσης γεωμετρίας. ΄Οταν άρχισαν οι μονάδες αυτές να αποκτούν προγραμματιζόμενες μονάδες είδαμε και τα πρώτα shaders (pixel & vertex shaders) σε μονάδες GPU. Δεν υπάρχουν fixed pixel shaders ή οτιδήποτε παρόμοιο. ΄Η είναι κάτι programmable ή είναι fixed function. Ξεκίνησαν με 2 είδη shaders (DX8/DX9), όπου τα pixel shaders ήταν τμήμα των ALUs και τα vertex shaders ήταν ανεξάρτητες μονάδες γεωμετρίας (για T&L ή VS1.0-3.0), προχωρήσαμε στα 3 είδη shaders (DX10) και την ενσωμάτωση όλων στα ALUs και πάμε αισίως για 6 είδη shaders για το D3D11. Ναι ακριβώς κατα αναλογία μήπως δεν υπάρχει δυνατότητα για κάποιες λειτουργίες στο hardware decode engine της GPU και ανατίθεται στην CPU να εκτελέσει αυτές τις λειτουργίες. Εκτός πια και αν πετσοκόβουν το video engine στις mainstream GPU και δεν μας το λένε. Ή απλώς όπως επανελλειμένα έχω πει είναι τόσο πολλά τα φορμάτ video που δεν είναι δυνατόν μια fixed decode/encode engine να είναι πάντα το ίδιο αποτελεσματική. Για τα υποστηριζόμενα video formats, το offloading του bitstream decoding stage είναι πλήρες. Αυτό δε σημαίνει ότι θα γλυτώνεις το CPU utilization που σχετίζεται με όλα τα υπόλοιπα παρακείμενα tasks που αναλαμβάνει ένας software video player κατά την αναπαραγωγή ενός αρχείου video (και το οποίο utilization κατά περιπτώσεις μπορεί να είναι υπολογίσιμο). Την αποκωδικοποίηση τη γλυτώνεις στην ολότητά της πάντως. Τώρα, ακόμη και για τα υποστηριζόμενα formats, υπάρχουν αρχεία που κατά τη δημιουργία τους δεν παραμετροποιήθηκε κατάλληλα το profile του encoder ή αυτός δεν υποστήριζε ακόμη την χρονική περίοδο που έγινε το decoding τις απαιτούμενες παραμέτρους ώστε να επιτευχθεί DXVA compliance (το πρόβλημα αυτό αφορούσε κυρίως τον x264 και encoding front-ends που τον χρησιμοποιούν. Πλέον πρέπει να θεωρείται non-issue, υπάρχουν σωστά DXVA profiles διαθέσιμα). Τέτοια αρχεία θα παίζουν χωρίς καθόλου επιτάχυνση από την GPU [1]. Πρόκειται για binary κατάσταση: on-off. Δε μπορείς να έχεις μερικό decoding του video stream από την GPU. Ή όλα ή τίποτα. Υπενθυμίζω ότι αναφέρομαι πάντα στη dedicated decoding engine, όχι σε CUDA-aware video codecs. [1] Κάποιοι players παρέχουν οπτική επιβεβαίωση για το πότε χρησιμοποιείται ή όχι η GPU. Π.χ. στον MPC-HC, με δεξί κλικ στην playback area > Filters > MPC Video Decoder θα δεις είτε: Καλά μια mainstream κάρτα υποστηρίζει την πλειονότητα των φορμάτ ναι η όχι? Και η μεγαλύτερη high end με την οποία ανήκουν στην ίδια γενιά είναι δυνατόν να υποστηρίζει περισσότερα φορμάτ και πιο γρήγορα? Γίνονται διαφοροποιήσεις όσο αφορά το video engine σε μέλη της ίδιας GPU οικογένειας? Απο όσο ξέρω οι κυριότερες διαφοροποιήσεις είναι μόνο στον αριθμό των shader units, video ram και video ram bandwidth.
parsifal Δημοσ. 11 Μαρτίου 2009 Δημοσ. 11 Μαρτίου 2009 Καλά μια mainstream κάρτα υποστηρίζει την πλειονότητα των φορμάτ ναι η όχι? Και η μεγαλύτερη high end με την οποία ανήκουν στην ίδια γενιά είναι δυνατόν να υποστηρίζει περισσότερα φορμάτ και πιο γρήγορα? Γίνονται διαφοροποιήσεις όσο αφορά το video engine σε μέλη της ίδιας GPU οικογένειας? Απο όσο ξέρω οι κυριότερες διαφοροποιήσεις είναι μόνο στον αριθμό των shader units, video ram και video ram bandwidth. Είναι συγκεκριμένα τα formats που υποστηρίζονται: VC-1, H.264, ίσως και MPEG-2 (?). Δεν ξέρω αν αυτή μπορεί να θεωρηθεί πλειονότητα, αλλά είναι σίγουρα τα απαιτητικότερα εκ των πιο διαδεδομένων και άρα αυτά στα οποία ενδιαφέρει το offloading. Για τις διαφοροποιήσεις νομίζω πως έχεις δίκιο. Κι εγώ την ίδια εντύπωση έχω, ότι η decoding engine παραμένει ίδια εντός της ίδιας οικογένειας GPU. Έχεις λόγους να πιστεύεις ότι είναι διαφορετικά τα πράγματα;
Delta² Δημοσ. 11 Μαρτίου 2009 Δημοσ. 11 Μαρτίου 2009 Είναι συγκεκριμένα τα formats που υποστηρίζονται: VC-1, H.264, ίσως και MPEG-2 (?). Δεν ξέρω αν αυτή μπορεί να θεωρηθεί πλειονότητα, αλλά είναι σίγουρα τα απαιτητικότερα εκ των πιο διαδεδομένων και άρα αυτά στα οποία ενδιαφέρει το offloading. Για τις διαφοροποιήσεις νομίζω πως έχεις δίκιο. Κι εγώ την ίδια εντύπωση έχω, ότι η decoding engine παραμένει ίδια εντός της ίδιας οικογένειας GPU. Έχεις λόγους να πιστεύεις ότι είναι διαφορετικά τα πράγματα; Δεν είμαι σίγουρος αλλά διαβάζοντας διάφορα μυνήματα σχετικά με το θέμα μου δημιουργήθηκε η εντύπωση ότι κυρίως οι χρήστες με mainstream κάρτες έχουν πρόβλημα με το CPU utilization κατά το video encode/decode (για παράδειγμα 60% cpu utilization πάει σε 20% όταν χρησιμοποιείται cuda, αυτό κατα πάσα πιθανότητα σημαίνει ότι το hardware decode δεν είναι τόσο αποτελεσματικό). Τώρα βέβαια δεν θυμάμαι ενδεχομένως κάποιες απο αυτές ήταν προηγούμενης γενιάς και τις έβαζαν να αποκωδικοποιησούν σύγχρονα φορμάτ και ίσως γι αυτό. Απο γενιά σε γενιά πρέπει να διαφέρει και το video engine λογικά. Τελικά μάλλον αυτή πρέπει να είναι η περίπτωση, και με το cuda ουσιαστικά γίνεται κάτι σαν το 2. που ανέφερες πιο πάνω, ή κάτι ενδιάμεσο μεταξύ 1 και 2, δηλαδή κάποιες λειτουργίες που δεν τις έχει το hardware video engine λόγω παλαιού hardware, να περνάνε μέσω cuda από τη CPU στην GPU η οποία εξομοιώνει κατα κάποιο τρόπο αυτές τις λειτουργίες με shader προγράμματα ενώ συγχρόνως μπορεί να χρησιμοποιεί κάποιες ήδη διαθέσιμες από το (πεπαλαιωμένο) hardware video engine.
Ailuros Δημοσ. 12 Μαρτίου 2009 Δημοσ. 12 Μαρτίου 2009 Νόμιζα πως η ερώτηση αφορούσε τον κατασκευαστή του ολοκληρωμένου, sorry.δεν έχω τρόπο ούτε πηγές για να γνωρίζω με σιγουριά! Εγώ βιάστηκα και οφείλω συγγνώμη γιατί οι άδειες αφορούν προιόντα επόμενης γενιάς της Sigma τελικά. Δεν θα μπορούσε να είναι αυτό άλλωστε γιατί το META που βρίσκεται στην καρδιά του VXD δεν είναι RISC επεξεργαστής. Δεν είμαι σίγουρος αλλά διαβάζοντας διάφορα μυνήματα σχετικά με το θέμα μου δημιουργήθηκε η εντύπωση ότι κυρίως οι χρήστες με mainstream κάρτες έχουν πρόβλημα με το CPU utilization κατά το video encode/decode (για παράδειγμα 60% cpu utilization πάει σε 20% όταν χρησιμοποιείται cuda, αυτό κατα πάσα πιθανότητα σημαίνει ότι το hardware decode δεν είναι τόσο αποτελεσματικό). Τώρα βέβαια δεν θυμάμαι ενδεχομένως κάποιες απο αυτές ήταν προηγούμενης γενιάς και τις έβαζαν να αποκωδικοποιησούν σύγχρονα φορμάτ και ίσως γι αυτό. Δεν νομίζω να είναι εύκολη η απάντηση χωρίς να ξέρει κανείς για ποιά κάρτα πρόκειται και ποιό λογισμικό ακριβώς χρησιμοποιείται σε κάθε δεδομένη περίπτωση. Κατ'αρχήν το Pure Video στην NV δεν είναι δωρεάν και υπάρχει τόσο PureVideo όσο και PureVideoHD: http://www.nvidia.com/page/purevideo_HD.html http://www.nvidia.com/page/purevideo.html Απο γενιά σε γενιά πρέπει να διαφέρει και το video engine λογικά. Τελικά μάλλον αυτή πρέπει να είναι η περίπτωση, και με το cuda ουσιαστικά γίνεται κάτι σαν το 2. που ανέφερες πιο πάνω, ή κάτι ενδιάμεσο μεταξύ 1 και 2, δηλαδή κάποιες λειτουργίες που δεν τις έχει το hardware video engine λόγω παλαιού hardware, να περνάνε μέσω cuda από τη CPU στην GPU η οποία εξομοιώνει κατα κάποιο τρόπο αυτές τις λειτουργίες με shader προγράμματα ενώ συγχρόνως μπορεί να χρησιμοποιεί κάποιες ήδη διαθέσιμες από το (πεπαλαιωμένο) hardware video engine. Στις D3D10 GPU δεν υπάρχει περίπτωση να πρόκειται για παλιό hardware ακόμα κι αν πρόκειται για IGP. Eίναι περισσότερο θέμα λογισμικού (πως ακριβώς έχει γραφτεί μια εφαρμογή αναπαραγωγής και πως μπορεί να υποστηριχθεί για GPU processing από το λογισμικό του κατασκευαστή GPU) παρά οτιδήποτε άλλο. Το καλό με το CUDA είναι ότι το κατεβάζεις μαζί με τους πιο πρόσφατους οδηγούς και είναι δωρεάν. ΄Οσοι θέλουν κάτι σε PureVideo/PureVideoHD κανονικά θα πρέπει να πληρώσουν για την εφαρμογή, εκτός αν ο χρήστης ψάχνει σε διόλου νόμιμα μονοπάτια και ο νοών νοήτω Σε αμφότερες περιπτώσεις αν δεν υπάρχει προσαρμογή εκ μέρους το λογισμικού αναπαραγωγής να υποστηρίξει CUDA, PureVideo, AViVo ή οτιδήποτε άλλο σχετικό ο φόρτος αναγκαστικά θα πάει στον επεξεργαστή.
frenzy Δημοσ. 19 Μαρτίου 2009 Δημοσ. 19 Μαρτίου 2009 Κρίμα πάντως ήταν ενδιαφέρον thread. Από την άλλη έχει παιδαγωγικό χαρακτήρα όπως έχει διαμορφωθεί και δεν του αξίζει report
parsifal Δημοσ. 19 Μαρτίου 2009 Δημοσ. 19 Μαρτίου 2009 ...[2.9ΚΒ text]...Υπάρχει κανένας mod να συμμαζέψει λίγο; Ε, δε νομίζω να περιμένετε τέτοια αιτήματα κρυμμένα πίσω από walls of text να γίνονται αντιληπτά από τους αρμοδίους! Η ενδεδειγμένη οδός είναι το report. Έστω και τώρα, το υποβάλλω εγώ γιατί το θέμα παραστράτησε χωρίς να του αξίζει τέτοια κατάληξη...
Super Moderators paredwse Δημοσ. 19 Μαρτίου 2009 Super Moderators Δημοσ. 19 Μαρτίου 2009 Κρίμα πάντως ήταν ενδιαφέρον thread. Από την άλλη έχει παιδαγωγικό χαρακτήρα όπως έχει διαμορφωθεί και δεν του αξίζει report Ε, δε νομίζω να περιμένετε τέτοια αιτήματα κρυμμένα πίσω από walls of text να γίνονται αντιληπτά από τους αρμοδίους! Η ενδεδειγμένη οδός είναι το report. Έστω και τώρα, το υποβάλλω εγώ γιατί το θέμα παραστράτησε χωρίς να του αξίζει τέτοια κατάληξη... Το thread δεν κλειδώνεται επειδή ξέφυγε η συζήτηση. Είναι πιο απλό να μεταφερθεί η off-topic συζήτηση σε νέο thread. Παρακαλώ λοιπόν όλα τα μηνύματα σχετικά με DXVA να δημοσιεύονται πλέον στο νέο thread που δημιουργήθηκε για το θέμα αυτό. Οποιοδήποτε άλλο off-topic μήνυμα εδώ θα διαγραφεί άνευ ετέρου.
parsifal Δημοσ. 25 Μαρτίου 2009 Δημοσ. 25 Μαρτίου 2009 Ένα ενδιαφέρον άρθρο στο Tech Report: MotionDSP's vReveal and Nvidia's CUDA
frenzy Δημοσ. 25 Μαρτίου 2009 Δημοσ. 25 Μαρτίου 2009 Ωραίο, το 2χresolution. Πολύ καλή σύλληψη να δανείζεται πληροφορίες από τα διπλανά καρέ. Δοκίμασα με ένα video από κινητό διάρκειας ενός λεπτού και το έφτιαξε σε τρία λεπτά. Μου λέει "7 minutes saved using your Nvidia processor".Δοκίμασα με άλλο ένα μικρό βίντεο. Στις στατικές σκηνές τα πάει περίφημα. Στην κίνηση δυσκολεύουν τα πράγματα. Nice find edit Άντε πάμε και σε real-time σιγά σιγά...
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.