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

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

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

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

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

Για την ανάπτυξη εφαρμογών, προσφέρεται ένα κιτ εργαλείων, που περιλαμβάνει παραλλαγές του PoCL (μεταγλωττιστή και χρόνου εκτέλεσης OpenCL), LLVM/Clang, GCC και Binutils προσαρμοσμένες για εργασία με το Vortex. Το έργο υποστηρίζει την προδιαγραφή OpenCL 1.2 και, μέσω μετάφρασης στο OpenCL, υποστηρίζει την ενδιάμεση αναπαράσταση των shaders SPIR-V. Για γραφικά που βασίζονται σε τεχνολογίες Vortex, αναπτύσσεται το ανοιχτό GPU Skybox, το οποίο υποστηρίζει το API γραφικών Vulkan. Το πρωτότυπο Skybox, που δημιουργήθηκε με βάση το Altera Stratix 10 FPGA και περιλαμβάνει 32 πυρήνες (512 νήματα), κατέστησε δυνατή την επίτευξη απόδοσης πλήρωσης 230 gigapixel ανά δευτερόλεπτο (3.7 gigatransactions ανά δευτερόλεπτο) σε συχνότητα 29.4 MHz.

Μεταξύ των αλλαγών στο Vortex 2.2:

  • Προστέθηκε το vx_spawn_taskgroups API για την εκκίνηση πυρήνων που υποστηρίζουν τμηματοποιημένη εκτέλεση τρισδιάστατων εργασιών.
  • Προστέθηκε υποστήριξη για το ZICOND, μια επέκταση της αρχιτεκτονικής του συνόλου εντολών RISC-V που παρέχει την υπό όρους εκτέλεση λειτουργιών χωρίς διακλάδωση.
  • Ο μεταγλωττιστής OpenCL έχει αλλάξει σε προγραμματισμό εκτέλεσης σε επίπεδο μεμονωμένων νημάτων (επίπεδο νήματος, κάθε νήμα εκτελεί την εργασία του ανεξάρτητα από άλλα νήματα), αντί για ομάδες εργασιών (επίπεδο warp), όπως ήταν πριν.
  • Το OpenCL προσθέτει υποστήριξη για μεταγλώττιση JIT και πυρήνες 64-bit.
  • Έχει υλοποιηθεί υποστήριξη για δυναμική φόρτωση χρόνου εκτέλεσης Vortex.
  • Έχει προταθεί νέα τεκμηρίωση για τη διαμόρφωση των Xilinx FPGA.
  • Περιλαμβάνεται δοκιμή σύνθεσης λογικής χρησιμοποιώντας εργαλεία Yosys.
  • Η υποστήριξη της προσωρινής μνήμης παρέχεται σε λειτουργίες ιεραρχικής έκπλυσης και σε λειτουργία εγγραφής.
  • Η ταχύτητα της επαλήθευσης του πίνακα αποτελεσμάτων και της εργασίας με τελεστές σε επίπεδο μεταφοράς καταχωρητή (RTL, Register Transfer Level) έχει βελτιστοποιηθεί.
  • Προστέθηκε υποστήριξη για τον προσομοιωτή μνήμης DRAM Ramulator 2.0.
  • Осуществлён переход на использование новых версий Verilator 5.0 (симулятор SystemVerilog) и LLVM 18.0, а также обновлён инструментарий на базе CentOS 7.9.
  • Αντί για το σύστημα συνεχούς ενοποίησης Travis CI, χρησιμοποιείται η υπηρεσία GitHub CI.

Πηγή: opennet.ru

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