Την περασμένη εβδομάδα, είχα γράψει ένα κομμάτι για τις σκοτεινές προδιαγραφές GPU. Ενώ εκθέτει μερικά από τα πιο σύγχυση τμήματα των προδιαγραφών σε κάρτες γραφικών, πολλοί αναγνώστες έχουν ασχοληθεί με το άρθρο, λέγοντας ότι θα μπορούσε να ήταν πιο λεπτομερής. Θα ήταν μόνο κατάλληλο να απαντήσετε σε περισσότερες ερωτήσεις σχετικά με τα στοιχεία της κάρτας γραφικών που δεν απάντησαν απαραιτήτως από αυτό το άρθρο σε αυτό το κομμάτι. Χωρίς περαιτέρω σχόλια, εδώ υπάρχουν μερικές απαντήσεις στις πιό πιεστικές ερωτήσεις σχετικά με τις προδιαγραφές της κάρτας γραφικών που δεν φαίνεται να εξηγούνται πλήρως με όρους που όλοι μπορούν να καταλάβουν στο Web.

Τι είναι το CUDA και τι είναι ο πυρήνας CUDA;

Το Compute Unified Device Architecture (CUDA) είναι ένα χαρακτηριστικό στις περισσότερες νεότερες κάρτες γραφικών Nvidia που επιτρέπει στον υπολογιστή να χρησιμοποιήσει ένα μέρος της GPU (ή ακόμα και την πλήρη GPU) ως "βοηθό" στον επεξεργαστή. Οι GPU παίζουν πολύ περισσότερους μυς από τους υπολογιστές, αλλά η αρχιτεκτονική τους έχει ιστορικά βελτιστοποιηθεί για τον υπολογισμό των αποστάσεων και των πολυγώνων (γι 'αυτό και χτυπούν τις κάρτες γραφικών). Το CUDA μετατρέπει τη GPU σε μαθηματικό geek που μπορεί να τραγουδάει αριθμούς πολύ γρήγορα, χρησιμοποιώντας την τρελή μυϊκή δύναμη μιας GPU για άλλα πράγματα από την απλή απόδοση και εμφάνιση γραφικών στην οθόνη.

Στο άρθρο που συνδέθηκε με την αρχή, εξήγησα ότι το SETI @ Home εκμεταλλεύεται το CUDA χρησιμοποιώντας κάρτες γραφικών για να πραγματοποιήσει υπολογισμούς. Αυτό είναι μόνο ένα παράδειγμα του πώς το CUDA μπορεί να χρησιμοποιηθεί για να κάνει εκπληκτικά πράγματα. Το CUDA μπορεί επίσης να χρησιμοποιηθεί για να μεταγλωττίσει το βίντεο (να το μετατρέψει από τη μία μορφή στην άλλη) χρησιμοποιώντας έναν ειδικό κωδικοποιητή που επικοινωνεί με το υλικό. Ο κωδικοποιητής της Nvidia είναι γνωστός ως NVENC και είναι ένας ισχυρός τρόπος για να κωδικοποιήσετε το βίντεο πολύ πιο γρήγορα χρησιμοποιώντας την μηχανή βίντεο κάρτας γραφικών σε αντίθεση με την εξάντληση της CPU σας. Εάν είστε προγραμματιστής και σας ενδιαφέρει να συμπεριλάβετε το NVENC στο πρόγραμμά σας, μπορείτε να δείτε τους πόρους της Nvidia εδώ.

Εντάξει, τώρα ξέρουμε τι είναι το CUDA. Τι γίνεται με τους πυρήνες CUDA;

Ένας πυρήνας CUDA είναι ένα τμήμα της GPU που μπορεί να χρησιμοποιηθεί για τους σκοπούς της CUDA. Είναι το κομμάτι της GPU που ορισμένα προγράμματα παρακολούθησης αποκαλούν το "Video Engine". Κάθε πυρήνας είναι ένα μικρό κομμάτι της αρχιτεκτονικής της GPU, το οποίο μπορεί να χρησιμοποιηθεί τόσο για την παραδοσιακή απόδοση 3D όσο και για τις λειτουργίες CUDA. Στις περισσότερες κάρτες γραφικών, ολόκληρη η GPU είναι διαθέσιμη για εργασία CUDA. Αυτό σημαίνει ότι ο αριθμός των CUDA πυρήνων στην GPU ορίζει στην πραγματικότητα πόσους πυρήνες έχει ολόκληρη η GPU.

Γιατί οι GPU έχουν τόσους πολλούς πυρήνες;

Ενώ οι σημερινοί CPU έχουν τυπικά τέσσερις έως οκτώ πυρήνες, υπάρχουν κάρτες γραφικών εκεί έξω με πάνω από 5.000 πυρήνες! Γιατί είναι αυτό και γιατί οι επεξεργαστές δεν έχουν τέτοιο τρελό ποσό πυρήνων;

Η GPU και η CPU έγιναν και οι δύο για διαφορετικούς σκοπούς. Ενώ μια CPU αντιδρά στον κώδικα της μηχανής για να επικοινωνήσει με διάφορα κομμάτια υλικού στον υπολογιστή σας, η GPU έχει κατασκευαστεί για έναν μόνο συγκεκριμένο σκοπό: Υποτίθεται ότι δίνει πολυγώνια στις όμορφες σκηνές που βλέπουμε σε επιταχυνόμενα 3D περιβάλλοντα και στη συνέχεια μεταφράζουμε όλα αυτά τα πράγματα σε μια εικόνα 60 φορές ή περισσότερο ανά δευτερόλεπτο. Αυτή είναι μια ψηλή τάξη για μια CPU, αλλά δεδομένου ότι η GPU έχει χωρισμένους επεξεργαστές πολύγωνο, μπορεί να χωρίσει το φόρτο εργασίας σε όλους τους πυρήνες για να καταστήσει ένα γραφικό περιβάλλον μέσα σε λίγα χιλιοστά του δευτερολέπτου.

Αυτός είναι ο τόπος όπου εισέρχονται οι πυρήνες. Μια GPU χρειάζεται όλους αυτούς τους πυρήνες να χωρίσουν μαζικά καθήκοντα σε μικροσκοπικά κομμάτια, όπου κάθε πυρήνας επεξεργάζεται το δικό του μέρος της σκηνής ξεχωριστά. Οι εφαρμογές που χρησιμοποιούν CPU (όπως το πρόγραμμα περιήγησης) δεν επωφελούνται από έναν τόσο τεράστιο αριθμό πυρήνων, εκτός αν κάθε πυρήνας έχει τη δύναμη των μυών μιας ολόκληρης μονάδας επεξεργασίας. Ο περιηγητής σας βασίζεται στην γρήγορη πρόσβαση σε πληροφορίες, σε αντίθεση με την διαμερισματικοποίηση των εργασιών. Όταν φορτώνετε μια ιστοσελίδα ή διαβάζετε ένα αρχείο PDF, χρειάζεστε μόνο μία ροή επεξεργασίας για να φορτώσετε όλα αυτά.

Μήπως περισσότερη μνήμη RAM κάνει καλύτερη την κάρτα γραφικών;

Η μνήμη RAM είναι λίγο περίεργη γκρίζα περιοχή με κάρτες γραφικών. Παρόλο που είναι ωραίο να έχετε όσο το δυνατόν περισσότερη μνήμη RAM, πρέπει επίσης να είστε σε θέση να χρησιμοποιήσετε όλη αυτή τη μνήμη RAM . Μια κάρτα γραφικών με 1024 MB μνήμης RAM και ένα 192-bit wide bus πρόκειται να εκτελέσει πολύ καλύτερα από μια κάρτα γραφικών με 2048 MB μνήμης RAM και το ίδιο bus.

Όπως εξήγησα στο προηγούμενο κομμάτι, η κάρτα γραφικών 2048 MB θα βιώνει κάτι που ονομάζεται «συμφόρηση του εύρους ζώνης», επειδή το λεωφορείο (ο δρόμος που ταξιδεύει το δελτίο) δεν είναι αρκετά ευρύ ώστε να μεταφέρει επαρκές ποσό δεδομένων σε σύντομο χρονικό διάστημα χρόνος.

Εν ολίγοις, όχι, περισσότερη μνήμη RAM δεν είναι αναγκαστικά καλύτερη εάν η κάρτα γραφικών δεν διαθέτει ευρύ λεωφορείο. Εδώ είναι ο οδηγός μου για το σωστό πλάτος λεωφορείου: Η κάρτα γραφικών σας θα πρέπει να έχει το πολύ οκτώ φορές την ποσότητα μνήμης RAM σε megabyte ως τον αριθμό των bits στο δίαυλο. Για παράδειγμα, μια κάρτα 1024 MB πρέπει να έχει τουλάχιστον ένα δίαυλο 128-bit (1024/8 = 128). Έτσι, για μια κάρτα 2048 MB, συνιστώ τουλάχιστον 256 μπιτ.

Αν έχετε ακόμα περισσότερες ερωτήσεις, φροντίστε να τις ρωτήσετε στα παρακάτω σχόλια!