Έκδοση PoCL 3.1 με ανεξάρτητη εφαρμογή του προτύπου OpenCL

Παρουσιάστηκε μια έκδοση του έργου PoCL 3.1 (Portable Computing Language OpenCL), το οποίο αναπτύσσει μια εφαρμογή του προτύπου OpenCL που είναι ανεξάρτητη από κατασκευαστές επιταχυντών γραφικών και επιτρέπει τη χρήση διαφόρων backends για την εκτέλεση πυρήνων OpenCL σε διαφορετικούς τύπους γραφικών και κεντρικών επεξεργαστές. Ο κωδικός του έργου διανέμεται με την άδεια MIT. Υποστηρίζει εργασία σε πλατφόρμες X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU και διάφορους εξειδικευμένους επεξεργαστές ASIP (Application-Specific Instruction-set Processor) και TTA (Transport Triggered Architecture) με αρχιτεκτονική VLIW.

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

Στη νέα έκδοση:

  • Προστέθηκε υποστήριξη για Clang/LLVM 15.0.
  • Σημαντικά βελτιωμένη υποστήριξη ενδιάμεσης αναπαράστασης shader SPIR-V για προγράμματα οδήγησης CPU και CUDA.
  • Το πρόγραμμα οδήγησης για εξειδικευμένο υλικό (CL_DEVICE_TYPE_ACCELERATOR) και προσαρμοσμένες συσκευές (CL_DEVICE_TYPE_CUSTOM) που δεν υποστηρίζουν ηλεκτρονική μεταγλώττιση έχει επανασχεδιαστεί σημαντικά. Τα προγράμματα οδήγησης accel και ttasim έχουν συγχωνευθεί στο νέο πρόγραμμα οδήγησης AlmaIF.
  • Οι εργασίες συνεχίζονται στο πρόγραμμα οδήγησης για το API γραφικών Vulkan.
  • Προτείνεται μια βασική υλοποίηση της επέκτασης cl_khr_command_buffer, η οποία σας επιτρέπει να γράψετε μια ακολουθία εντολών OpenCL για εκτέλεση σε μία κλήση.

Πηγή: opennet.ru

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