Έκδοση του PoCL 1.3, μια ανεξάρτητη υλοποίηση του προτύπου OpenCL

Διατίθεται μια έκδοση του έργου PoCL 1.3 (Portable Computing Language OpenCL), το οποίο αναπτύσσει μια εφαρμογή του προτύπου OpenCL που είναι ανεξάρτητη από τους κατασκευαστές επιταχυντών γραφικών και επιτρέπει τη χρήση διαφόρων backend για την εκτέλεση πυρήνων OpenCL σε διαφορετικούς τύπους γραφικών και κεντρικούς επεξεργαστές . Ο κωδικός του έργου διανέμεται με την άδεια MIT. Υποστηρίζει λειτουργία σε πλατφόρμες X86_64, MIPS32, ARM v7, AMD HSA APU και διάφορους εξειδικευμένους επεξεργαστές TTA (Transport Triggered Architecture) με αρχιτεκτονική VLIW.

Η υλοποίηση του μεταγλωττιστή πυρήνα OpenCL είναι χτισμένη με βάση το LLVM και το Clang χρησιμοποιείται ως το μπροστινό μέρος για το OpenCL C. Για να διασφαλιστεί η σωστή φορητότητα και απόδοση, ο μεταγλωττιστής πυρήνα OpenCL μπορεί να δημιουργήσει συναρτήσεις συνδυασμού που μπορούν να χρησιμοποιήσουν διάφορους πόρους υλικού για να παραλληλίσουν την εκτέλεση κώδικα, όπως VLIW, superscalar, SIMD, SIMT, multi-core και multi-threading. Διατίθεται υποστήριξη προγράμματος οδήγησης ICD
(Εγκαταστήσιμο πρόγραμμα οδήγησης πελάτη). Υπάρχουν backends για υποστήριξη λειτουργίας μέσω CPU, ASIP (TCE/TTA), GPU με βάση την αρχιτεκτονική HSA και NVIDIA GPU (CUDA).

Η νέα έκδοση προσθέτει υποστήριξη για LLVM/Clang 8.0. Παρέχει υποστήριξη για ICD (Installable Client Driver) στην πλατφόρμα macOS. Εφάρμοσε τη δυνατότητα δημιουργίας pocl χωρίς προγράμματα οδήγησης backend για την CPU. Για το HSA (Heterogeneous System Architecture), παρέχεται αρχική υποστήριξη για τη μεταγλώττιση ISA πάνω από το χρόνο εκτέλεσης HSA. Η βάση κώδικα καθαρίστηκε, συμπεριλαμβανομένης της βιβλιοθήκης Vecmathlib αφαιρέθηκε και η υποστήριξη για παλαιότερες εκδόσεις του LLVM (λιγότερες από 6.0) σταμάτησε.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο