OpenCL 3.0 Spezifizéierung agefouert

D'Khronos Suerg, verantwortlech fir d'Entwécklung vun den OpenGL, Vulkan an OpenCL Famill Spezifikatioune, ugekënnegt op der Fäerdegstellung vun der Entwécklung vun OpenCL 3.0 Spezifikatioune déi APIen an Extensiounen vun der C Sprooch definéieren fir Cross-Plattform parallel Computing mat Multi-Core CPUs, GPUs, FPGAs, DSPs an aner spezialiséiert Chips ze organiséieren, vun deenen an Supercomputeren a Cloud Serveren benotzt ginn. zu Chips déi an mobilen Apparater an embedded Technologie fonnt kënne ginn. Den OpenCL Standard ass komplett oppen an erfuerdert keng Lizenzgebühren. Firmen wéi IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments an Toshiba hunn un der Aarbecht um Standard deelgeholl.

Op der aktueller Etapp ass d'Spezifikatioun provisoresch Status zougewisen, wat d'Méiglechkeet vun Verfeinerung implizéiert baséiert op Feedback geschéckt via GitHub. Wann d'Kommentaren berücksichtegt ginn, gëtt d'Spezifikatioun finaliséiert an eng final Testsuite gëtt publizéiert fir d'Kompatibilitéit vun existente Implementatiounen ze testen.

OpenCL 3.0 Spezifizéierung agefouert

Am meeschte bemierkenswäert Fonctiounen OpenCL 3.0:

  • D'OpenCL 3.0 API deckt elo all Versioune vun OpenCL (1.2, 2.x), ouni separat Spezifikatioune fir all Versioun. OpenCL 3.0 bitt d'Fäegkeet fir d'Kärfunktioun duerch d'Integratioun vun zousätzlech Spezifikatioune ze verlängeren, déi an der Form vun Optiounen geschicht ginn ouni d'monolithesch Natur vun OpenCL 1.2 / 2.X ze blockéieren.
  • Nëmme Funktionalitéit, déi mat OpenCL 1.2 entsprécht, ass obligatoresch deklaréiert, an all Features, déi an den OpenCL 2.x Spezifikatioune proposéiert ginn, ginn als fakultativ klasséiert. Dës Approche wäert et méi einfach maachen personaliséiert Implementatiounen ze kreéieren déi mat OpenCL 3.0 kompatibel sinn, a wäert d'Gamme vun Apparater ausbauen, op deenen OpenCL 3.0 benotzt ka ginn. Zum Beispill, Hiersteller kënnen OpenCL 3.0 Ënnerstëtzung ëmsetzen ouni spezifesch OpenCL 2.x Fonctiounen ëmzesetzen. Fir Zougang zu optional Sproochfeatures ze kréien, huet OpenCL 3.0 e System vun Testufroen bäigefüügt, deen Iech erlaabt d'Ënnerstëtzung vun eenzelne API Elementer ze evaluéieren, souwéi speziell Makroen.
  • Unifikatioun mat virdru verëffentlecht Spezifikatioune mécht et méi einfach Uwendungen op OpenCL 3.0 ze migréieren. OpenCL 1.2 Uwendungen kënnen op Apparater lafen déi OpenCL 3.0 ouni Ännerung ënnerstëtzen. OpenCL 2.x Uwendungen erfuerderen och keng Code Ännerungen, soulaang d'OpenCL 3.0 Ëmfeld déi erfuerderlech Funktionalitéit ubitt (fir zukünfteg Portabilitéit ze garantéieren, OpenCL 2.x Uwendungen ginn recommandéiert Testufroen derbäi ze ginn fir Ënnerstëtzung fir d'OpenCL 2.x Features ze evaluéieren benotzt ginn). Driver Entwéckler mat OpenCL Implementatiounen kënnen hir Produkter einfach op OpenCL 3.0 upgraden, andeems nëmmen Ufroveraarbechtung fir bestëmmte API-Uriff bäidréit, a lues a lues d'Funktionalitéit mat der Zäit erhéijen.
  • D'OpenCL 3.0 Spezifizéierung ass ausgeriicht mat der Ëmwelt, Extensiounen a Spezifikatioune vun der SPIR-V generescher Zwëschenvertriedung, déi och vun der Vulkan API benotzt gëtt. Ënnerstëtzung fir d'SPIR-V 1.3 Spezifizéierung ass am Kär OpenCL 3.0 als optional Feature abegraff. Duerch d'Benotzung vun enger Zwëschenvertriedung SPIR-V Ënnerstëtzung fir Operatiounen mat Ënnergruppen ass fir Rechenkäre bäigefüügt.
    OpenCL 3.0 Spezifizéierung agefouert

  • Dobäi Ënnerstëtzung fir eng Extensioun fir eng Leeschtung asynchronous DMA Operatiounen (Asynchronous DMA), ënnerstëtzt an DSP-ähnlechen Chips mat direkten Erënnerung Zougang. Asynchronous DMA mécht et méiglech DMA Transaktiounen ze benotzen Daten tëscht global a lokal Erënnerung asynchronously Transfert, parallel mat Berechnungen oder aner Daten Transfermaart Operatiounen.
  • D'C Parallel Programméierungs Extensions Spezifizéierung gouf aktualiséiert Versioun 3.0, an d'Entwécklung vun OpenCL Sproochverlängerungen fir C++ gouf zugonschte vum Projet "C++ fir OpenCL" gestoppt. C ++ fir OpenCL ass e Compiler baséiert op Clang / LLVM an Emissioun C++ an OpenCL C Kärelen an SPIR-V Zwëschenvertriedung oder Low-Level Maschinncode. Duerch d'Sendung organiséiert SPIR-V och d'Versammlung vun C ++ Uwendungen mat der SYCL Templatebibliothéik, déi d'Schafung vu parallele Applikatiounen vereinfacht.

    OpenCL 3.0 Spezifizéierung agefouert

  • E Compiler gouf proposéiert fir OpenCL iwwer d'Vulkan API ze iwwerdroen clspv, déi OpenCL Kärelen an eng Vulkan SPIR-V Representatioun konvertéiert, an eng Schicht clvk fir d'OpenCL API z'erméiglechen fir uewen op Vulkan ze schaffen.

    OpenCL 3.0 Spezifizéierung agefouert

Source: opennet.ru

Setzt e Commentaire