OpenCL ramma: Rétt fyrir þig?

Birting: Stuðningur þinn hjálpar til við að halda vefnum í gangi! Við þénum tilvísunargjald fyrir sumar þjónusturnar sem við mælum með á þessari síðu.


OpenCL, eða Open Computing Language, er hugbúnaðarrammi sem eingöngu er hannaður til að byggja upp forrit sem hægt er að keyra yfir fjölbreytt tölvukerfi. Það er opinn staðall til að þróa samhliða forritunarforrit yfir pallur, sem hefur fjölda af útfærslum.

Í meginatriðum var OpenCL þróað til að leyfa dulmálum að búa til forrit sem hægt er að keyra á hvaða tæki sem er, óháð framleiðanda, örgjörva forskriftum, grafík eining eða öðrum vélbúnaðaríhlutum. Það þýðir að verktaki getur smíðað forrit á Windows tölvunni sinni og það mun virka alveg eins vel á Android síma, Mac OS X tölvu eða öðrum samhliða vinnslutækjum. Að því tilskildu, að sjálfsögðu, að öll þessi tæki styðja OpenCL og hafa viðeigandi þýðanda og afturkreistingsbókasafn útfært.

Forritunarmálið sem notað er til að þróa OpenCL forrit er OpenCL C sem byggir á C99 (fyrri opinbera skilgreining á C forritunarmálinu). OpenCL C getur forritað úrval af vélbúnaði og tækjum, þar með talið örgjörvum, GPU-vélum og vélbúnaðshraðara.

Saga

OpenCL var fyrst þróað af Apple Inc, og síðan betrumbætt með inntak frá nokkrum helstu vélbúnaðarframkvæmdum og lagt fyrir sjálfseignarstofnunina, Khronos Group. Khronos Group stofnaði opna staðla nefnd með virkri þátttöku frá nokkrum helstu framleiðendum tækninnar til að ganga frá OpenCL stöðlunum.

Lokað var um tæknilega staðla síðla árs 2008 og árið 2009 gaf Apple út OpenCL 1.0 með Mac OS X Snow Leopard sínum. Á árunum 2008 og 2009 var OpenCL opinberlega tekið til AMD, NVIDIA og IBM.

Nokkrir nýir eiginleikar og betrumbætur voru kynntar á árunum 2010 og 2011 og árið 2013 kom út OpenCL 2.0, sem meðal annars innihélt stuðning við samnýtt sýndarminni, nestið samsömun og framlengingu viðskiptavinarstjórans fyrir Android. Síðari útgáfa árið 2015, Open CL 2.1, kom í stað OpenCL C kjarna tungumálsins fyrir OpenCL C++.

Auðlindir á netinu

Sem nýr rammi hannaður fyrir einn af stærstu straumum í tölvuforritun í dag og þar sem hann er opinn uppspretta, kemur það ekki á óvart að OpenCL er með stórt, starfandi samfélag notenda og leiðbeinenda..

  • Khronos Resource Page: Khronos Group, sem sér um að viðhalda OpenCL, hefur tekið saman stóran lista yfir auðlindir fyrir forritara, þar á meðal upplýsingar um mismunandi útfærslur, tungumálabindingar og mörg bókasöfn og rammar sem OpenCL forritarar hafa aðgang að. Þessi sami vefur inniheldur einnig víðtæka lista yfir þjálfun og leiðbeiningar á netinu.
  • Tilvísunarkort: þessi handhægu viðmiðunarblöð innihalda allt sem þú þarft að forrita í OpenCL, þar með talið API handbók, bekkjarmynd, samnýtt sýndarminnisskipanir og lista yfir tiltæka forrita hluti, gagnategundir, innbyggðar aðgerðir og fleira.
  • Intel OpenCL málþing: þessi vettvangssíða er að mestu heimsótt af þekktum OpenCL forriturum sem leita að ráðgjöf varðandi forritun, ræða bestu starfshætti og deila hugmyndum.

Kennsla

Það eru nokkrar námskeið á netinu í boði fyrir OpenCL, sumar búnar til af opinn hugbúnaðarsamfélaginu, aðrir þróaðir af mörgum vélbúnaðarframleiðendum sem lögðu sitt af mörkum til OpenCL staðalsins. Þar sem OpenCL er háþróað forritunartæki, gera flestir ráð fyrir fyrri reynslu af þróun forrita og venjulega þekkingu á C / C++.

  • OpenCL námskeið fyrir CodeProject: þessi námskeiðsröð á netinu veitir víðtæka bakgrunni í OpenCL verkefninu, leiðbeiningar um að setja upp viðeigandi hugbúnað til að gera OpenCL þróun kleift og einstakar kennslustundir fyrir öll helstu svið OpenCL forritunar. Það inniheldur nokkur dæmi og viðbótartengla fyrir bakgrunnsupplýsingar.
  • CMSoft OpenCL einkatími: CMSoft býður bæði upp á almenna OpenCL kennslu og röð dæmisagna sem hannaðar eru til að fjalla um fjölda sérhæfðra verkefna, þar með talið útfærslu á almennu ljósmyndasíu reikniriti sem mun vinna á hvaða OpenCL samhæfða GPU, rekja lit í vídeó, og hvernig á að nota GPU til að margfalda fylki.
  • Inngangs OpenCL kennsla: búin til af vélbúnaðararkitekt hjá AMD, þessi kennsla er skrifuð fyrir glænýja OpenCL forritara og gengur þeim í gegnum grundvallaratriði OpenCL, meðan hún býður upp á nóg af kóða kóða.

Bækur

Að vera tiltölulega nýr rammi, það eru aðeins handfylli af bókum á OpenCL og margar þeirra voru skrifaðar fyrir núverandi útgáfu, sem þýðir að þær munu ekki fjalla um nokkrar af nýjustu eiginleikunum sem verktaki hefur aðgang að. En jafnvel eldri textarnir veita góða yfirsýn yfir umgjörðina og notkun hans. Auðvelt er að fá kynningu á nýjustu þróuninni í gegnum mörg af auðlindunum á netinu sem talin eru upp hér að ofan.

  • Heterogeneous Computing with OpenCL 2.0 eftir David Kaeli, o.fl.: þessi texti miðar að því að ná yfir OpenCL staðalinn og almenna hugmyndina um samhliða forritun. Það kannar efni eins og sameiginlegt sýndarminni, hagræðingaraðferðir, kembiforrit og hvernig eigi að dreifa vinnu yfir fjölbreytt tölvukerfi. Það felur í sér nokkrar dæmisögur eins og dæmi.
  • OpenCL forritunarhandbók eftir Munshi o.fl.: þessi bók er sérstaklega skrifuð fyrir starfandi verktaki. Þar sem hún er ein fyrsta OpenCL kennslubókin, skrifuð fyrir útgáfu 1.1, nær hún ekki yfir nokkrar nýjustu endurbæturnar. Samt sem áður veitir það árangursríkt yfirlit yfir OpenCL arkitektúr og hugtök, grunn forritunaraðgerðir og tungumálanám fyrir OpenCL C. Þessi texti inniheldur einnig nokkrar dæmisögur, dæmi og frumkóða á netinu.
  • OpenCL samhliða forritunarþróun matreiðslubókar eftir Raymond Tay: þessi texti tekur þá aðferð að til að læra tungumál á áhrifaríkan hátt þarftu að skilja bæði kenninguna á bak við það og hagnýt forrit. Það skiptir náminu niður í tvo hluta. Fyrri helmingur bókarinnar fjallar um grundvallaratriði OpenCL og samhliða forritun. Seinni hálfleikur er könnun á lykilalgrímum sem sýna fram á mismunandi samsíða forritunartækni.
  • OpenCL forritun með fordæmi eftir Banger og Bhattacharyya: Þessi bók miðar að því að vera „auðveld“ leiðarvísirinn fyrir OpenCL forritun með mjög einföldum dæmum til að sýna fram á lykilhugtök samhliða forritunar og OpenCL.

Niðurstaða

Fyrir tuttugu árum, þegar mikill meirihluti tölvunotenda rak öll sömu stýrikerfin og CPU / GPU vettvangurinn var einkennist af litlu handfylli fyrirtækja, að hafa getu til að forrita á mörgum kerfum var lúxus sem flest okkar gerðu einfaldlega ekki ‘ þarf ekki. En með því að farartæknin hefur verið hleypt af stokkunum og hækkun Apple og Android er ólíklegt að við munum sjá að einn framleiðandi muni halda slíkri markaðshlutdeild aftur fljótlega. Þess í stað þurfa hugbúnaðarframleiðendur að laga sig að ólíku umhverfi nútímans.

OpenCL er stórt skref í þeim umskiptum. Frekar en að forrita fyrir hverja tæknibreytu geta verktaki búið til kóða sem nær yfir alla palla. Eitt tungumál, eitt ramma, eitt umhverfi, til að forrita fyrir nokkrar vélbúnaðar- og hugbúnaðarforskriftir.

Frekari upplestur og úrræði

Við höfum fleiri forritunarhandbækur, námskeið og infografics sem tengjast forritun og auðlindum forritara:

  • C Resources Resources: byrjaðu og færðu þig yfir í þróað svæði C forritunar.
  • Kaka og Cocoa Touch Inngangur: læra API til að búa til forrit fyrir Mac OS X og iOS.
  • Java kynning, hvernig á að læra og úrræði: Java er fáanlegt á flestum tækjum og það er frábært tungumál ef þú vilt kóða fyrir fjölda palla.

Hvaða kóða ættirðu að læra?
Hvaða kóða ætti að læra?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me