OpenCL 3.0 sipesifikesonu ṣafihan

Ibakcdun Khronos, lodidi fun idagbasoke OpenGL, Vulkan ati awọn alaye idile OpenCL, kede lori Ipari ti idagbasoke ti OpenCL 3.0 ni pato ti o setumo APIs ati awọn amugbooro ti awọn ede C fun siseto agbelebu-Syeed ni afiwe iširo nipa lilo olona-mojuto CPUs, GPUs, FPGAs, DSPs ati awọn miiran specialized awọn eerun igi, lati awon ti a lo ninu supercomputers ati awọsanma apèsè. si awọn eerun igi ti o le rii ni awọn ẹrọ alagbeka ati imọ-ẹrọ ti a fi sii. Iwọn OpenCL ti ṣii patapata ati pe ko nilo awọn idiyele iwe-aṣẹ. Awọn ile-iṣẹ bii IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments ati Toshiba kopa ninu iṣẹ lori boṣewa.

Ni ipele ti o wa lọwọlọwọ, sipesifikesonu ti ni ipo ipese, eyiti o tumọ si iṣeeṣe ti isọdọtun ti o da lori awọn esi ti a firanṣẹ nipasẹ GitHub. Ni kete ti awọn asọye naa ti gba sinu akọọlẹ, sipesifikesonu yoo pari ati pe suite idanwo ikẹhin kan yoo ṣe atẹjade lati ṣe idanwo ibaramu ti awọn imuse ti o wa.

OpenCL 3.0 sipesifikesonu ṣafihan

Ohun akiyesi julọ awọn ẹya ṢiiCL 3.0:

  • OpenCL 3.0 API ni bayi bo gbogbo awọn ẹya ti OpenCL (1.2, 2.x), laisi ipese awọn alaye lọtọ fun ẹya kọọkan. OpenCL 3.0 n pese agbara lati faagun iṣẹ ṣiṣe mojuto nipasẹ isọpọ ti awọn alaye afikun ti yoo ṣe fẹlẹfẹlẹ ni irisi awọn aṣayan laisi idilọwọ ẹda monolithic ti OpenCL 1.2/2.X.
  • Iṣẹ ṣiṣe nikan ti o ni ibamu pẹlu OpenCL 1.2 ni a kede pe o jẹ dandan, ati gbogbo awọn ẹya ti a dabaa ni awọn pato OpenCL 2.x jẹ ipin bi iyan. Ọna yii yoo jẹ ki o rọrun lati ṣẹda awọn imuse aṣa ti o ni ibamu pẹlu OpenCL 3.0, ati pe yoo faagun ibiti awọn ẹrọ ti OpenCL 3.0 le ṣee lo. Fun apẹẹrẹ, awọn aṣelọpọ le ṣe atilẹyin OpenCL 3.0 laisi imuse awọn ẹya OpenCL 2.x kan pato. Lati wọle si awọn ẹya aṣayan ede, OpenCL 3.0 ti ṣafikun eto awọn ibeere idanwo ti o fun ọ laaye lati ṣe iṣiro atilẹyin ti awọn eroja API kọọkan, bakanna bi awọn macros pataki.
  • Iṣọkan pẹlu awọn pato ti a ti tu silẹ tẹlẹ jẹ ki o rọrun lati jade awọn ohun elo si OpenCL 3.0. Awọn ohun elo OpenCL 1.2 yoo ni anfani lati ṣiṣẹ lori awọn ẹrọ ti o ṣe atilẹyin OpenCL 3.0 laisi iyipada. Awọn ohun elo OpenCL 2.x kii yoo nilo awọn iyipada koodu, niwọn igba ti OpenCL 3.0 ayika n pese iṣẹ ṣiṣe ti o nilo (lati rii daju pe gbigbe ni ọjọ iwaju, awọn ohun elo OpenCL 2.x ni a ṣe iṣeduro lati ṣafikun awọn ibeere idanwo lati ṣe iṣiro atilẹyin fun awọn ẹya OpenCL 2.x lilo). Awọn olupilẹṣẹ awakọ pẹlu awọn imuse OpenCL le ṣe igbesoke awọn ọja wọn ni irọrun si OpenCL 3.0, fifi sisẹ ibeere nikan fun awọn ipe API kan, ati mimu iṣẹ ṣiṣe pọ si ni akoko pupọ.
  • OpenCL 3.0 sipesifikesonu ni ibamu pẹlu ayika, awọn amugbooro, ati awọn pato ti aṣoju agbedemeji SPIR-V jeneriki, eyiti Vulkan API tun lo. Atilẹyin fun sipesifikesonu SPIR-V 1.3 wa ninu OpenCL 3.0 mojuto bi ẹya iyan. Nipasẹ lilo aṣoju agbedemeji SPIR-V atilẹyin fun awọn iṣẹ pẹlu awọn ẹgbẹ-ẹgbẹ ti ni afikun fun awọn ohun kohun iširo.
    OpenCL 3.0 sipesifikesonu ṣafihan

  • Atilẹyin ti a ṣafikun fun itẹsiwaju fun ṣiṣe awọn iṣẹ DMA asynchronous (DMA Asynchronous), ni atilẹyin ni awọn eerun DSP-bii pẹlu iraye si iranti taara. DMA Asynchronous jẹ ki o ṣee ṣe lati lo awọn iṣowo DMA lati gbe data laarin agbaye ati iranti agbegbe ni asynchronously, ni afiwe pẹlu awọn iṣiro tabi awọn iṣẹ gbigbe data miiran.
  • Sipesifikesonu Awọn amugbooro siseto C Parallel ti ni imudojuiwọn si ẹya 3.0, ati awọn idagbasoke ti OpenCL ede awọn amugbooro fun C ++ ti a dawọ ni ojurere ti awọn "C ++ fun OpenCL" ise agbese. C ++ fun OpenCL jẹ akopọ ti o da lori Clang / LLVM ati igbohunsafefe Awọn ekuro C ++ ati OpenCL C sinu aṣoju agbedemeji SPIR-V tabi koodu ẹrọ ipele kekere. Nipasẹ igbohunsafefe, SPIR-V tun ṣeto apejọ ti awọn ohun elo C ++ nipa lilo ile-ikawe awoṣe SYCL, eyiti o rọrun lati ṣẹda awọn ohun elo ti o jọra.

    OpenCL 3.0 sipesifikesonu ṣafihan

  • A ti dabaa alakojo kan fun ikede OpenCL nipasẹ Vulkan API clsv, eyi ti o ṣe iyipada awọn ekuro OpenCL si aṣoju Vulkan SPIR-V, ati Layer kan clvk lati mu OpenCL API ṣiṣẹ lori oke Vulkan.

    OpenCL 3.0 sipesifikesonu ṣafihan

orisun: opennet.ru

Fi ọrọìwòye kun