PoCL 1.6, eng eegestänneg Ëmsetzung vum OpenCL Standard

De Lancement vum déi nei Versioun vum Projet PoCL 1.6 (Portable Computing Language OpenCL), vun den Highlights vun der Versioun 1.6 ass d'Ënnerstëtzung fir Clang / LLVM 11.0, souwéi d'Aarbecht gemaach fir d'Performance an d'Funktioune vu CUDA ze verbesseren, verbesserte Kompatibilitéit mat PowerPC a verbesserte Benotzung vun OpenCL Debugging.

Fir déi net kennt mat PoCL, sollt Dir wësse wat et ass eng portable Open Source Ëmsetzung (lizenzéiert vu MIT) vum OpenCL Standard (1.2 mat e puer 2.0 Features ënnerstëtzt). Wéi och eng Multi-Device Open Source OpenCL Ëmsetzung (wierklech heterogen) einfach portabel, e primärt Zil vun dësem Projet ass d'Interoperabilitéit vun der Diversitéit vun OpenCL-konforme Geräter ze verbesseren andeems se se an eng eenzeg zentral orchestréiert Plattform integréieren.

Zousätzlech ass ee vun de Schlëssel méi laangfristeg Ziler d'Verbesserung vun der Performance Portabilitéit vun OpenCL Programmer op Geräftypen déi Runtime a Compilatiounstechniken benotzen.

Den OpenCL Kernel Compiler baséiert op LLVM a Clang gëtt als Interface fir OpenCL C benotzt. Fir adäquat Leeschtung a Portabilitéit ze bidden, kann den OpenCL Kernel Compiler kombinéiert Funktiounen generéieren déi verschidde Hardwaressource benotze kënnen fir d'Code Ausféierung ze paralleliséieren. , wéi VLIW, Superscalar, SIMD, SIMT, Multi-Core, a Multi-Threaded. Et gëtt Ënnerstëtzung fir ICD (Installable Client Driver) Treiber. Et gi Backends fir Aarbecht duerch CPU, ASIP (TCE / TTA), GPU baséiert op HSA Architektur, an NVIDIA GPU (CUDA) ze bidden.

Main nei Features vu PoCL 1.6

Dës nei Versioun vu PoCL 1.6 markéiert d'Fäegkeet dës Implementatioun mat Geriichtsdriver ze kompiléieren, déi bei der Kompiléierung aktivéiert sinn, souwéi d'Disponibilitéit vum Apparat gëtt beim Starte verifizéiert (virdrun, Systemer op deenen de PoCL gebaut a gefouert gëtt si sollten dee selwechte Controller Support hunn). Implementéiert d'Fäegkeet de Conda Package Manager ze benotzen fir PoCL Binär Packagen mat CUDA Support fir Linux-x86_64 a Linux-ppc64le Systemer ze verdeelen.

Eng aner Ännerung déi erausstécht ass d'Ënnerstëtzung fir LLVM 11 zesumme mat den erweiderten Méiglechkeeten fir Debuggen vum OpenCL Code beim Benotze vum CPU Controller.

Zousätzlech sollt et feststellen datt d'Leeschtungsoptimiséierung vum CUDA Backend duerchgefouert gouf, wat Operatiounen am Zesummenhang mat der Verwäertung vum lokalen Erënnerung (FFT, GEMM) wesentlech vereinfacht huet.

Benchmarks déi SHOC Benchmarks benotzen (déi elo kontinuéierlech getest ginn, weisen datt dës Optimiséierungen zu vill besser Performance gefouert hunn, besonnesch fir Benchmarks mat lokalen Erënnerungen wéi FFT a GEMM, am Verglach mat enger Course vu iwwer Referenz. De PoCL erreecht elo dacks kompetitiv Leeschtung mam propriétaire OpenCL Driver vun Nvidia). Mir begréissen d'Bäiträg fir d'Ursaachen vun de Rescht Probleemregiounen z'identifizéieren an z'eliminéieren. Mir begréissen och Contributiounen fir d'Featuresofdeckung fir den OpenCL 1.2 / 3.0 Standards ze verbesseren.

  • D'PoCL Performance a ville Tester ass elo no beim NVIDIA proprietäre OpenCL Driver.
  • Den HARDENING_ENABLE Compilatiounsparameter bäigefüügt fir Compileroptiounen z'aktivéieren fir e méi séchere libpocl.so ze generéieren op Käschte vun der Performance Degradatioun.
  • Returnéiert Ënnerstëtzung fir PowerPC 8/9 Systemer, fir déi den OpenCL Implementatiounsniveau beim Benotze vu Pthread a CUDA Geräter entsprécht dem CUDA Niveau op x86_64 Systemer.
  • Ännert ABI fir CUDA Kären déi __ lokal Block benotzen. Nom Upgrade mussen d'Benotzer de Pocl Cache läschen.
  • Geläscht Ënnerstëtzung fir d'SINGLE_LLVM_LIB Bauoptioun, anstatt STATIC_LLVM an llvm-config ze benotze fir ze definéieren u wéi eng Bibliothéiken ze binden.

Schlussendlech, wann Dir méi iwwer dës nei Versioun wësse wëllt, kënnt Dir d'Detailer kontrolléieren an der Original Annonce. 

Wärend fir déi interesséiert méi iwwer dës Ëmsetzung wëssen, kënne se consultéieren déi offiziell Websäit vun dësem, wou Dir d'Dokumentatioun fannt an d'Dateien eroflueden.

De Projet Code gëtt ënner der MIT Lizenz verdeelt an d'Aarbecht gëtt op Plattformen X86_64, MIPS32, ARM v7, AMD HSA APU a verschiddenen spezialiséierten TTA Prozessoren mat der VLIW Architektur ënnerstëtzt.


Den Inhalt vum Artikel hält sech un eis Prinzipie vun redaktionnell Ethik. Fir e Feeler ze mellen klickt hei.

Gitt d'éischt fir ze kommentéieren

Gitt Äre Kommentar

Är Email Adress gëtt net publizéiert ginn. Néideg Felder sinn markéiert mat *

*

*

  1. Responsabel fir d'Daten: Miguel Ángel Gatón
  2. Zweck vun den Donnéeën: Kontroll SPAM, Kommentarmanagement.
  3. Legitimatioun: Är Zoustëmmung
  4. Kommunikatioun vun den Donnéeën: D'Donnéeë ginn net un Drëttubidder matgedeelt ausser duerch legal Verpflichtung.
  5. Datenspeicher: Datebank gehost vun Occentus Networks (EU)
  6. Rechter: Zu all Moment kënnt Dir Är Informatioun limitéieren, recuperéieren an läschen.