Η Nvidia εγκαινιάζει το CUDA 5

Εικόνα: panigrc

 

Nvidia έχει κυκλοφορήσει επίσημα CUDA 5, αναβαθμίζοντας την πλατφόρμα παράλληλης επεξεργασίας της με μια σειρά από νέα χαρακτηριστικά, όπως μια υπηρεσία online sharing των πόρων.

Όπως φαίνεται η Nvidia κοιτά να κάνει το CUDA πλατφόρμα πρότυπο για υψηλά παράλληλο προγραμματισμό - για τον απλό λόγο ότι θα πουλήσει περισσότερα τσιπ γραφικών με αυτόν τον τρόπο - γι αυτό πέρασε ένα μεγάλο μέρος της παρουσίασής της με συζήτηση των διαφόρων τρόπων με τους οποίους το CUDA 5 καθιστά τη ζωή των προγραμματιστών πιο εύκολη συμπεριλαμβανομένης της δυναμικής παράλληλης "γέννας" νέων παράλληλων εργασιών στο GPU, απαραίτητες βιβλιοθήκες του GPU, GPUDirect για υψηλής απόδοσης και χαμηλού χρόνου πρόσβαση άμεσης μνήμης μεταξύ των GPUs και των PCI Express-συνδεδεμένων συσκευών, και ένα Nsight plug-in για το Eclipse IDE το οποίο προσφέρει τη δυνατότητα προγραμματισμού, αποσφαλμάτωσης και τη βελτιστοποίησης από ένα ενιαίο περιβάλλον εργασίας.

Κοιτάζοντας κάθε χαρακτηριστικό με τη σειρά του, την ικανότητα να "γεννιούνται" νέα νήματα μέσα από τα νήματα του GPU σημαίνει ότι είναι πλέον δυνατό για το GPU η αυτόματη προσαρμογή στα δεδομένα, όπου προηγουμένως επικοινωνία με το CPU ήταν απαραίτητη. Με την εξάλειψη - ή, τουλάχιστον, μειώνοντας δραστικά - την παρέμβαση της CPU στη λειτουργία του GPU, η απόδοση ζητείται να βελτιωθεί σημαντικά, ενώ η εφαρμογή του CUDA έχει επεκταθεί σε ένα ευρύτερο σύνολο των αλγορίθμων, όπως αυτά που χρησιμοποιούνται σε εφαρμογές υπολογισμού fluid dynamics.

Οι απαραίτητες βιβλιοθήκες του GPU αποτελούν μέρος της προσπάθειας της Nvidia για την προσέλκυση τρίτων, που επιτρέπει στους προγραμματιστές να έχουν πρόσβαση στην παραλληλία CUDA με τις δικές τους βιβλιοθήκες. Με την Nvidia να προτείνει ότι οι προγραμματιστές μπορούν να γράψουν plug-in ΑΡΙ και να επιτρέπουν σε άλλους προγραμματιστές να επεκτείνουν τη λειτουργικότητα του πυρήνα τους, ή να τους επιτρέπει να εφαρμόσουν callbacks για την GPU για να προσαρμόζουν τη λειτουργικότητα των βιβλιοθηκών τρίτων, είναι σαφές πως η Nvidia ελπίζει ότι οι προγραμματιστές θα εκμεταλλευτούν τις νέες δυνατότητες διασύνδεσης για να δημιουργήσουν  μεγαλύτερες και πιο πολύπλοκες CUDA-powered εφαρμογές.

GPUDirect, εν τω μεταξύ, έχει ένα πιο άμεσο όφελος: την ελαχιστοποίηση των σημείων συμφόρησης μνήμης του συστήματος. Σχεδιασμένο για να επιτρέπει στα GPUs να επικοινωνούν με άλλες συσκευές PCI Express με σύνδεση χωρίς να πάρει τη μνήμη RAM και CPU του συστήματος που εμπλέκονται, το GPUDirect φέρεται να μειώσει σημαντικά το χρόνο αναμονής μεταξύ των κόμβων σε ένα σύμπλεγμα GPU καθώς και να βελτιώσουν τη συνολική απόδοση όπου χρησιμοποιείται εξωτερικό υλικό.

Τέλος, η Nsight plug-in για το Eclipse παρέχει στους προγραμματιστές τη δυνατότητα να γράψουν, να κάνουν debug και να κάνουν compile τον CUDA κώδικα στο δημοφιλές IDE για Linux και OS X πλατφόρμες. Εκείνοι που χρησιμοποιούν Eclipse θα βρουν επίσης ένα νέο εργαλείο αυτόματου refactoring, ώστε να μεταφέρουν γρήγορα υπάρχοντα κώδικα σε CUDA, μαζί με προσαρμοσμένη επισήμανση σύνταξης να γίνει διάκριση μεταξύ CPU και GPU τμήματα κώδικα.

Το μεγάλο χαρακτηριστικό του CUDA 5, ωστόσο, ήταν το Κέντρο Πληροφόρησης CUDA. Μέρος της Nvidia Developer Zone, το CUDA Resource Centre παρέχει άμεση πρόσβαση σε όλα τα πράγματα που θα μπορούσαν να θέλουν οι προγραμματιστές, ώστε να αρχίσουν να αποκτούν τα οφέλη του παραλληλισμού. Οι οδηγοί προγραμματισμού, οι αναφορές API, βιβλιοθήκη εγχειριδίων, δείγματα κώδικα, τεκμηρίωση και εργαλεία προδιαγραφές της πλατφόρμας περιλαμβάνονται όλα, με συνολικά πάνω από 1.600 αρχεία έτοιμα για την προβολή κατά την έναρξη λειτουργίας.

Περισσότερες λεπτομέρειες σχετικά με CUDA 5 είναι διαθέσιμα στην ιστοσελίδα της Nvidia.