Το Vortex 3.0, μια GPGPU ανοιχτού κώδικα που βασίζεται στην αρχιτεκτονική RISC-V, έχει δημοσιευτεί

Το έργο Vortex 3.0, το οποίο αναπτύσσει ένα GPGPU ανοιχτού κώδικα βασισμένο στην αρχιτεκτονική συνόλου εντολών RISC-V και έχει σχεδιαστεί για παράλληλο υπολογισμό χρησιμοποιώντας το OpenCL API και το μοντέλο εκτέλεσης SIMT (Single Instruction, Multiple Threads), είναι τώρα διαθέσιμο. Το έργο μπορεί επίσης να χρησιμοποιηθεί για έρευνα τρισδιάστατων γραφικών και την ανάπτυξη νέων αρχιτεκτονικών GPU. Τα σχηματικά, οι περιγραφές μπλοκ υλικού στο Verilog, ο προσομοιωτής, τα προγράμματα οδήγησης και η συνοδευτική τεκμηρίωση σχεδιασμού διανέμονται με την άδεια Apache 2.0.

Το GPGPU βασίζεται στο τυπικό RISC-V ISA, το οποίο έχει επεκταθεί με πρόσθετες οδηγίες για την υποστήριξη των λειτουργιών της GPU και της διαχείρισης νημάτων. Οι αλλαγές στην αρχιτεκτονική του συνόλου εντολών RISC-V περιορίζονται στο ελάχιστο και οι υπάρχουσες διανυσματικές οδηγίες χρησιμοποιούνται όποτε είναι δυνατόν. Πρόσθετες οδηγίες περιλαμβάνουν: "tex" για επιτάχυνση της επεξεργασίας υφής, vx_rast για έλεγχο ραστεροποίησης, vx_rop για επεξεργασία θραυσμάτων, βάθους και διαφάνειας, vx_imadd για λειτουργίες πολλαπλασιασμού και προσθήκης, vx_wspawn, vx_split, vx_join, vx_tmc και vx_bar για την ενεργοποίηση ομάδων νημάτων (μέτωπα κύματος) που εκτελούνται παράλληλα από τη μηχανή SIMD.

Η GPGPU που αναπτύσσεται υποστηρίζει αρχιτεκτονικές συνόλου εντολών RISC-V RV32IMF και RV64IMAFD 32 και 64 bit και μπορεί να περιλαμβάνει προαιρετική κοινόχρηστη μνήμη, προσωρινές μνήμες L1, L2 και L3, καθώς και έναν διαμορφώσιμο αριθμό πυρήνων, warps και νημάτων. Κάθε πυρήνας μπορεί επίσης να περιλαμβάνει έναν διαμορφώσιμο αριθμό ALU, FPU, LSU και SFU. Τα FPGA Xilinx και Altera μπορούν να χρησιμοποιηθούν για την κατασκευή πρωτοτύπων, ενώ τα Verilator (προσομοιωτής Verilog), RTLSIM (προσομοίωση RTL) και SimX (προσομοίωση λογισμικού) μπορούν να χρησιμοποιηθούν για την προσομοίωση τσιπ.

Για την ανάπτυξη εφαρμογών, προσφέρεται ένα κιτ εργαλείων, που περιλαμβάνει εκδόσεις PoCL (μεταγλωττιστής και χρόνος εκτέλεσης OpenCL), LLVM/Clang, GCC και Binutils προσαρμοσμένες σε Vortex. Το έργο υποστηρίζει την προδιαγραφή OpenCL 1.2 και υλοποιεί υποστήριξη για την ενδιάμεση αναπαράσταση shaders SPIR-V μέσω μετάφρασης σε OpenCL.

Οι αλλαγές στο Vortex 3.0 περιλαμβάνουν:

  • Έχει προστεθεί μια στοίβα γραφικών υλικού, συμπεριλαμβανομένων μπλοκ για rasterization, texture mapping και output menghing (OM). Έχει αναπτυχθεί ένα πρόγραμμα οδήγησης Vulkan, το vortexpipe, για το Mesa με βάση την υλοποιημένη στοίβα γραφικών και τον rasterizator λογισμικού lavapippe.
  • Οι δυνατότητες του Tensor Core, που έχει σχεδιαστεί για να επιταχύνει την εκτέλεση μοντέλων μηχανικής μάθησης, έχουν επεκταθεί, εφαρμόζοντας υποστήριξη για δομημένη αραιότητα για τη συμπίεση πινάκων βάρους.
  • Η λειτουργία WGMMA (πολλαπλασιασμός πινάκων σε επίπεδο ομάδας στρέβλωσης) έχει υλοποιηθεί για πολλαπλασιασμό πινάκων σε ασύγχρονη λειτουργία.
  • Προστέθηκε η μηχανή DXA (Data Transfer Acceleration) για την επιτάχυνση της μεταφοράς δεδομένων από την καθολική στην τοπική μνήμη.
  • Έχει υλοποιηθεί μια νέα αρχιτεκτονική που βασίζεται σε έναν επεξεργαστή εντολών (CP) και έναν χρονοπρογραμματιστή υλικού των υπολογιστικών πυρήνων (KMU - Μονάδα Διαχείρισης Πυρήνα), η οποία επιτρέπει την αποστολή υπολογιστικών νημάτων στην πλευρά του τσιπ.
  • Προτείνεται μια νέα βιβλιοθήκη χρόνου εκτέλεσης που λειτουργεί σε λειτουργία χωρίς αποκλεισμό και παρέχει αφαιρέσεις που μεταφράζονται σε ασύγχρονα εκτελούμενες εντολές υλικού. Υποστηρίζονται ουρές, συμβάντα, ενότητες και συγχρονισμός που βασίζεται σε ασύγχρονα εμπόδια με σημασιολογία άφιξης/αναμονής/συμβάντος.
  • Προστέθηκε υποστήριξη για συντομευμένες οδηγίες RISC-V (RVC).
  • Έχει υλοποιηθεί υποστήριξη υλικού για ατομικές λειτουργίες (Hardware Atomics).
  • Η FPU έχει επανασχεδιαστεί πλήρως και έχουν εισαχθεί νέα μπλοκ πολλαπλασιαστή (Wallace-tree, Folded-radix) και αθροιστή (Kogge-Stone).
  • Προστέθηκε μια στοίβα εικονικής μνήμης βασισμένη στη μονάδα διαχείρισης μνήμης (MMU) με υποστήριξη για την αρχιτεκτονική εικονικής διευθυνσιοδότησης SV32 32-bit.
  • Υποστήριξη για την επέκταση RISC-V Zicond με υλοποίηση λειτουργιών υπό όρους.
  • Ενσωματωμένη πύλη ρολογιού.
  • Η υποστήριξη για τη γλώσσα HIP (Ετερογενής Διεπαφή για Φορητότητα) έχει υλοποιηθεί μέσω του πλαισίου chipStar, το οποίο μεταφράζει την HIP σε SPIR-V.
  • Έχει παρασχεθεί πλήρης ενσωμάτωση με τον προσομοιωτή GEM5 και έχει προστεθεί υποστήριξη για τον προσομοιωτή SimX στην αρχιτεκτονική TLM (Transaction-Level Modeling).
  • Προστέθηκε υποστήριξη για τα κιτ εργαλείων Synopsys και Yosys για σύνθεση λογικής για την κατασκευή τσιπ, καθώς και υποστήριξη για τη χρήση των βιβλιοθηκών τυπικών στοιχείων ASAP7 (7nm), SAED14 (14nm) και NanGate (15nm).
  • Η αλυσίδα εργαλείων αναφοράς έχει ενημερωθεί σε LLVM 20 και POCL 7.0.

Πηγή: opennet.ru

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster