HPVM ένας μεταγλωττιστής που βασίζεται σε LLVM για CPU, GPU, FPGA και επιταχυντές

Οι προγραμματιστές του έργου Κυκλοφόρησε το LLVM κυκλοφόρησε πρόσφατα τον μεταγλωττιστή Ετερογενούς Παράλληλης Εικονικής Μηχανής (HPVM) 1.0, που στοχεύει απλοποιήστε τον προγραμματισμό για ετερογενή συστήματα και παρέχει εργαλεία δημιουργίας κώδικα για επιταχυντές CPU, GPU, FPGA και υλικού συγκεκριμένο τομέα (η υποστήριξη για FGPA και επιταχυντές δεν συμπεριλήφθηκε στην έκδοση 1.0).

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

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

Το Illinois LLVM Compiler Research Group με χαρά ανακοινώνει την έκδοση ανοικτού κώδικα του HPVM (έκδοση 1.0). Το HPVM είναι ένα πλαίσιο επαναπροσανατολισμού μεταγλωττιστή που στοχεύει CPU, GPU και επιταχυντές (αυτή η έκδοση δεν περιλαμβάνει υποστήριξη επιταχυντή) [1]. Ο HPVM χρησιμοποιεί έναν ανεξάρτητο στοχευτή μεταγλωττιστή IR που επεκτείνει το μεταγλωττιστή IR LLVM 9.0.0 με μια ρητή ιεραρχική αναπαράσταση ροής δεδομένων που συλλαμβάνει εργασίες, δεδομένα και παραλληλισμό αγωγών.

Αυτή η έκδοση είναι μια σημαντική προσθήκη στην πρώτη μας έκδοση (έκδοση 0.5), η οποία προσθέτει υποστήριξη για λειτουργίες γραμμικών τανυστών άλγεβρας, διεπαφές Pytorch και Keras, προσεγγίσεις για χειριστές συσκέψεων και ένα αποτελεσματικό και ευέλικτο πλαίσιο για προσαρμογή προσέγγισης. 

Πρέπει να σημειωθεί ότι η χρήση του Ο HPVM μπορεί να επιτύχει σημαντικά κέρδη απόδοσης από eΗ απόδοση εξόδου των μεταφραστών HPVM είναι συγκρίσιμη με εκείνη του κώδικα OpenCL χειρόγραφες για συσκευές GPU και υπολογιστών φορέα. Σε αντίθεση με άλλα συστήματα, ο HPVM προσπάθησε να συνδυάσει τρεις δυνατότητες οργάνωσης ετερογενών υπολογιστών: ενδιάμεση αναπαράσταση ανεξάρτητη από τη γλώσσα και το υλικό, την εικονική αρχιτεκτονική συνόλου εντολών (V-ISA) και τον προγραμματισμό χρόνου εκτέλεσης.

Η ανεξάρτητη ενδιάμεση αναπαράσταση (IR) του συστήματος στόχου και η γλώσσα προγραμματισμού που χρησιμοποιείται στο HPVM βασίζεται στην ενδιάμεση αναπαράσταση των οδηγιών LLVM 9.0 και το επεκτείνει με ένα γράφημα ροής ιεραρχικών δεδομένων για να καλύψει τον παραλληλισμό σε επίπεδο εργασιών, δεδομένων και υπολογιστικών αγωγών.

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

Το Virtual Instruction Set Architecture (V-ISA) αφαιρεί δυνατότητες υλικού χαμηλού επιπέδου και ενοποιεί διάφορες μορφές παραλληλισμού και αρχιτεκτονικών μνήμης χρησιμοποιώντας μόνο το βασικό μοντέλο ταυτότητας, το γράφημα ροής δεδομένων. Το V-ISA επιτρέπει την επίτευξη φορητότητας μεταξύ διαφορετικών τύπων παράλληλου υπολογιστικού εξοπλισμού και επιτρέπει να μην χάσετε την απόδοση όταν χρησιμοποιείτε διαφορετικά στοιχεία ετερογενών συστημάτων. Το εικονικό ISA μπορεί επίσης να χρησιμοποιηθεί για την παροχή καθολικού εκτελέσιμου κώδικα προγράμματος που μπορεί να εκτελεστεί χρησιμοποιώντας CPU, GPU, FPGA και διάφορους επιταχυντές.

Στο σημερινό στάδιο ανάπτυξης, Ο HPVM προσφέρει δημιουργούς κώδικα ικανών να μεταφράσουν τους κόμβους εφαρμογών που ορίζονται από το ISA εικονική για εκτέλεση χρησιμοποιώντας GPU NVIDIA (cuDNN και OpenCL), οδηγίες φορέα Intel AVX και CPU πολλαπλών πυρήνων x86. }

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

Σε σύγκριση με την πρώτη έκδοση προεπισκόπησης, Το HPVM 1.0 περιλαμβάνει υποστήριξη για λειτουργίες γραμμικής τάσης αλγεβρών, διεπαφές για Pytorch και Keras και ένα πλαίσιο συντονισμού προσέγγισης που επιλέγει αυτόματα τις βέλτιστες προσεγγίσεις για ορισμένες λειτουργίες τανυστή και επιλέγει μια ρύθμιση για βέλτιστη απόδοση.

Τέλος, εάν ενδιαφέρεστε να μάθετε περισσότερα για αυτόν τον μεταγλωττιστή, Μπορείτε να ελέγξετε τις λεπτομέρειες στον παρακάτω σύνδεσμο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.