Η νέα γλώσσα προγραμματισμού κάνει τη μετατροπή των GPU σε υπερυπολογιστές

GPU

Τα περισσότερα από τα bit που έχετε τραβήξει ποτέ εκτελέστηκαν μέσω CPU, αλλά η μονάδα επεξεργασίας γραφικών (GPU) του υπολογιστή σας χρησιμοποιείται όλο και περισσότερο για γενικές υπολογιστικές εργασίες. Το πρόβλημα ήταν πάντα ο σχεδιασμός εφαρμογών που μπορούν να επωφεληθούν από την ακατέργαστη υπολογιστική ισχύ μιας GPU. Επιστήμη πληροφορικής Ph.D. Ο υποψήφιος στο Πανεπιστήμιο της Ιντιάνα με το όνομα Eric Holk δημιούργησε μια νέα γλώσσα προγραμματισμού που ονομάζεται Harlan για να διευκολύνει τη διαδικασία.

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

Οι επιπλοκές κατά την εκτέλεση υπολογισμών σε μία GPU είναι αρκετά ενοχλητικές, αλλά η συγκέντρωση πολλαπλών GPU σε ένα αυτοσχέδιο δίκτυο μπορεί να αυξήσει δραστικά τις επιπλοκές. Ακόμα, οι ερευνητές στρέφονται όλο και περισσότερο στην υπολογιστική GPU με την ελπίδα να πραγματοποιήσουν τα οφέλη της μαζικής παράλληλης πληροφορικής. Συνδέστε αρκετά GPU μαζί και έχετε έναν αυτοσχέδιο υπερυπολογιστή σε ένα κλάσμα της τιμής. (Βλέπω:Υπερυπολογιστής Titan: 38.400-επεξεργαστής, 20-petaflop υπερυπολογιστής, που τροφοδοτείται από Nvidia Tesla GPUs.)



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

Υπάρχουν σίγουρα άλλες γλώσσες προγραμματισμού GPU εκεί έξω, με το OpenCL και το CUDA της Nvidia να είναι ίσως το πιο γνωστό. Όλα αυτά βασίζονται στο παρελθόν της CPU. Το έργο του Holk στοχεύει να δει αν μια γλώσσα που έχει σχεδιαστεί από τη βάση προς τα πάνω για να υποστηρίζει GPU μπορεί να κάνει καλύτερη δουλειά.

GPUΟ Harlan μπορεί να μεταγλωττιστεί στο OpenCL (όπως το CUDA), αλλά μπορεί επίσης να κάνει χρήση γλωσσών υψηλότερου επιπέδου όπως Python και Ruby. Η σύνταξη βασίζεται στο Σχέδιο, το οποίο βασίζεται στην πολύ αγαπημένη γλώσσα προγραμματισμού Lisp. Αρχικά αναπτύχθηκε το 1958, η Lisp επηρέασε μερικές από τις πιο δημοφιλείς σύγχρονες γλώσσες, συμπεριλαμβανομένων των Perl, JavaScript και Ruby - αν και, ίσως, δεν αποτελεί έκπληξη, οι πολλές ενοχλητικές περιττές παρενθέσεις δεν έκαναν το άλμα σε αυτές τις νεότερες γλώσσες.

Ο Harlan έχει να κάνει με τα όρια του τι μπορούν να κάνουν οι προγραμματιστές με τους υπολογιστές GPU. Αυτή η γλώσσα παράγει πραγματικά βελτιωμένο κώδικα GPU για εκτέλεση στο υλικό που μπορεί να φαίνεται πολύ διαφορετικό από αυτό που δημιούργησε ο προγραμματιστής. Αυτό διαφέρει από μια παρόμοια γλώσσα που ονομάζεται Rust, ένα έργο Mozilla που βοηθά τους προγραμματιστές να δημιουργήσουν ένα πρόγραμμα κατάλληλο για το υποκείμενο υλικό.

Ο Harlan είναι κάπως λιγότερο συμβατικός στην προσέγγισή του, αλλά έχει τη δυνατότητα να κάνει τον υπολογιστή GPU πιο προσβάσιμο με το χειρισμό περίπλοκων εργασιών χαμηλού επιπέδου. Η νέα γλώσσα είναι εντελώς ανοιχτή και μπορεί να μεταφορτωθεί μαζί με πλήρη τεκμηρίωση από το Github.

Copyright © Ολα Τα Δικαιώματα Διατηρούνται | 2007es.com