L-ispeċifikazzjoni OpenCL 3.0 introdotta

It-tħassib Khronos, responsabbli għall-iżvilupp tal-ispeċifikazzjonijiet tal-familja OpenGL, Vulkan u OpenCL, ħabbar dwar it-tlestija tal-iżvilupp tal-ispeċifikazzjonijiet OpenCL 3.0 li jiddefinixxu l-APIs u l-estensjonijiet tal-lingwa C għall-organizzazzjoni ta’ kompjuters paralleli cross-platform bl-użu ta’ CPUs multi-core, GPUs, FPGAs, DSPs u ċipep speċjalizzati oħra, minn dawk użati fis-superkompjuters u s-servers tal-cloud għal ċipep li jistgħu jinstabu f'apparat mobbli u teknoloġija inkorporata. L-istandard OpenCL huwa kompletament miftuħ u ma jeħtieġx miżati tal-liċenzja. Kumpaniji bħal IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments u Toshiba ħadu sehem fix-xogħol fuq l-istandard.

Fl-istadju attwali, l-ispeċifikazzjoni ġiet assenjata status provviżorju, li jimplika l-possibbiltà ta' rfinar ibbażat fuq feedback mibgħut permezz GitHub. Ladarba l-kummenti jitqiesu, l-ispeċifikazzjoni tiġi ffinalizzata u se tiġi ppubblikata suite tat-test finali biex tiġi ttestjata l-kompatibilità tal-implimentazzjonijiet eżistenti.

L-ispeċifikazzjoni OpenCL 3.0 introdotta

L-aktar notevoli Karatteristiċi OpenCL 3.0:

  • L-API OpenCL 3.0 issa tkopri l-verżjonijiet kollha ta 'OpenCL (1.2, 2.x), mingħajr ma tipprovdi speċifikazzjonijiet separati għal kull verżjoni. OpenCL 3.0 jipprovdi l-abbiltà li testendi l-funzjonalità ewlenija permezz tal-integrazzjoni ta 'speċifikazzjonijiet addizzjonali li se jkunu f'saffi fil-forma ta' għażliet mingħajr ma jimblokka n-natura monolitika ta 'OpenCL 1.2/2.X.
  • Il-funzjonalità biss li tikkonforma ma' OpenCL 1.2 hija ddikjarata obbligatorja, u l-karatteristiċi kollha proposti fl-ispeċifikazzjonijiet OpenCL 2.x huma kklassifikati bħala fakultattivi. Dan l-approċċ se jagħmilha aktar faċli biex jinħolqu implimentazzjonijiet personalizzati li huma kompatibbli ma 'OpenCL 3.0, u se jespandi l-firxa ta' apparati li fuqhom OpenCL 3.0 jista 'jintuża. Pereżempju, il-manifatturi jistgħu jimplimentaw l-appoġġ ta 'OpenCL 3.0 mingħajr ma jimplimentaw karatteristiċi speċifiċi ta' OpenCL 2.x. Biex taċċessa karatteristiċi tal-lingwa mhux obbligatorji, OpenCL 3.0 żied sistema ta 'mistoqsijiet tat-test li tippermettilek tevalwa l-appoġġ ta' elementi individwali tal-API, kif ukoll macros speċjali.
  • L-unifikazzjoni bi speċifikazzjonijiet rilaxxati qabel tagħmilha aktar faċli li l-applikazzjonijiet jiġu migrati għal OpenCL 3.0. L-applikazzjonijiet OpenCL 1.2 se jkunu jistgħu jaħdmu fuq apparati li jappoġġjaw OpenCL 3.0 mingħajr modifika. L-applikazzjonijiet OpenCL 2.x lanqas se jeħtieġu bidliet fil-kodiċi, sakemm l-ambjent OpenCL 3.0 jipprovdi l-funzjonalità meħtieġa (biex tiġi żgurata l-portabbiltà futura, l-applikazzjonijiet OpenCL 2.x huma rrakkomandati li jżidu mistoqsijiet tat-test biex jevalwaw l-appoġġ għall-karatteristiċi OpenCL 2.x qed tintuża). L-iżviluppaturi tas-sewwieqa b'implimentazzjonijiet ta 'OpenCL jistgħu faċilment jaġġornaw il-prodotti tagħhom għal OpenCL 3.0, u jżidu biss l-ipproċessar tal-mistoqsijiet għal ċerti sejħiet API, u gradwalment iżidu l-funzjonalità maż-żmien.
  • L-ispeċifikazzjoni OpenCL 3.0 hija allinjata mal-ambjent, l-estensjonijiet u l-ispeċifikazzjonijiet tar-rappreżentazzjoni intermedja ġenerika SPIR-V, li tintuża wkoll mill-API Vulkan. L-appoġġ għall-ispeċifikazzjoni SPIR-V 1.3 huwa inkluż fil-qalba OpenCL 3.0 bħala karatteristika fakultattiva. Permezz ta' l-użu ta' rappreżentazzjoni intermedja SPIR-V appoġġ għal operazzjonijiet b'sottogruppi ġie miżjud għall-qlub tal-kompjuters.
    L-ispeċifikazzjoni OpenCL 3.0 introdotta

  • Appoġġ miżjud għal estensjoni għat-twettiq ta 'operazzjonijiet DMA asinkroniċi (Asynchronous DMA), appoġġjati f'ċipep bħal DSP b'aċċess dirett għall-memorja. DMA asinkroniku jagħmilha possibbli li jintużaw tranżazzjonijiet DMA biex tittrasferixxi data bejn memorja globali u lokali b'mod asinkroniku, b'mod parallel ma 'kalkoli jew operazzjonijiet oħra ta' trasferiment tad-data.
  • L-ispeċifikazzjoni tal-C Parallel Programming Extensions ġiet aġġornata għal verżjoni 3.0, u l-iżvilupp tal-estensjonijiet tal-lingwa OpenCL għal C++ twaqqaf favur il-proġett "C++ for OpenCL". C++ għal OpenCL huwa kompilatur ibbażat fuq Clang/LLVM u xandir C++ u OpenCL C kernels f'rappreżentazzjoni intermedja SPIR-V jew kodiċi tal-magna ta 'livell baxx. Permezz tax-xandir, SPIR-V jorganizza wkoll l-assemblaġġ ta 'applikazzjonijiet C++ bl-użu tal-librerija tal-mudelli SYCL, li tissimplifika l-ħolqien ta' applikazzjonijiet paralleli.

    L-ispeċifikazzjoni OpenCL 3.0 introdotta

  • Ġie propost kompilatur għax-xandir tal-OpenCL permezz tal-API Vulkan clspv, li tikkonverti qlub OpenCL għal rappreżentazzjoni Vulkan SPIR-V, u saff clvk biex l-API OpenCL taħdem fuq Vulkan.

    L-ispeċifikazzjoni OpenCL 3.0 introdotta

Sors: opennet.ru

Żid kumment