Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 12624|Vastaus: 0

CUDA eroaa OpenCL:stä

[Kopioi linkki]
Julkaistu 22.4.2018 21.42.36 | | | |
Verkkosivuston tietojen mukaan lyhyt yhteenveto CUDA:n ja OpenCL:n eroista. Ole hyvä ja osoita mahdolliset virheet.

Sivupolku: Yhdysvaltojen Sandia National Laboratoryn simulaatiotesti osoitti, että tallennusmekanismin ja muistikaistanleveyden rajoitusten vuoksi 16-, 32- tai jopa 64-ytiminen prosessori ei ainoastaan voi parantaa supertietokoneiden suorituskykyä, vaan voivat jopa johtaa merkittävään tehokkuuden heikkenemiseen.

Mikä on OpenCL?

Se on avoin ja vapaa standardi rinnakkaisohjelmoinnille, joka on tarkoitettu heterogeenisten järjestelmien yleiseen tarkoitukseen, jonka Apple on aloittanut ja jonka ovat yhdessä tuottaneet monet alan tunnetut valmistajat, ja se on myös yhtenäinen ohjelmointiympäristö. Ohjelmistokehittäjille on kätevää kirjoittaa tehokasta ja kevyttä koodia korkean suorituskyvyn palvelimille, pöytätietokoneille ja käsilaitteille, ja sitä käytetään laajasti moniydinprosessoreissa (CPU), grafiikkaprosessoreissa (GPU), solutyyppisissä arkkitehtuureissa sekä muissa rinnakkaisprosessoreissa, kuten digitaalisissa signaaliprosessoreissa (DSP), ja sillä on laajat kehitysnäkymät monilla aloilla, kuten peleissä, viihteessä, tieteellisessä tutkimuksessa ja lääketieteellisessä hoidossa.

Mikä on CUDA?

CUDA on arkkitehtuuri, joka perustuu rinnakkaislaskentaan Nvidia-näytönohjaimilla. CUDA sisältää pääasiassa kaksi osa-aluetta: toinen on ISA-käskykanta-arkkitehtuuri; toinen laitteistolaskentamoottori; Kyse on itse asiassa laitteistosta ja käskyjoukosta. Toisin sanoen voimme ajatella CUDA:ta arkkitehtuurina, joka muistuttaa X86:ta tai solua, mutta perustuu GPU:ihin, ei perinteisiin suorittimiin.




Mitä OpenCL oikeastaan on?

OpenCL on itse asiassa täysin uusi API heterogeenisten järjestelmien rinnakkaisohjelmointiin, ja OpenCL voi käyttää GPU:ita rinnakkaislaskentatehtäviin.
OpenGL on tarkoitettu graafeille, kun taas OpenCL on rinnakkaislaskennalle.
OpenCL:n kehitysprosessissa tekniset alustat ovat kaikki NVIDIA-GPU:ita, ja itse asiassa OpenCL perustuu NVIDIA-GPU-alustoihin. Lisäksi OpenCL:n ensimmäinen demo pyöri myös NVIDIA-näytönohjaimilla.
Käytännössä OpenCL on teknologia, joka vastaa DirectX:ää Windows-alustalla. Tai oikeastaan se on API-rajapinta, joka yhdistää laitteiston ja ohjelmiston. Tässä suhteessa se on samankaltainen kuin OpenGL, mutta OpenCL on paljon laajempi kuin OpenGL, eikä sitä käytetä pelkästään 3D-grafiikassa. Jos kuvailet sitä yhdellä lauseella, OpenCL:n rooli on vapauttaa laitteistopotentiaali kutsumalla prosessorin ja GPU:n laskentaresursseja, jotta ohjelma toimii nopeammin ja paremmin.
Mitä CUDA oikeastaan on?

CUDA-arkkitehtuuri on natiivi, erityisesti suunniteltu laskentarajapinnoille, ja tämä laitteistoarkkitehtuuri, mukaan lukien käskykannot, on täydellinen joukko arkkitehtuureja, jotka on suunniteltu tämänkaltaiseen rinnakkaislaskentaan ja heterogeeniseen laskentaan. CUDA-arkkitehtuuri tukee rajapintoja, kuten OpenCL:ää tai DirectX:ää, ja CUDA tukee myös C:tä, C++:aa, Fortrania, Javaa, Pythonia ja muita kieliä.



Mikä on OpenCL:n ja CUDA:n suhde?

CUDA:n ja OpenCL:n välinen suhde ei ole konfliktisuhde, vaan inklusiivinen suhde. OpenCL on API, ensimmäisellä tasolla CUDA-arkkitehtuuri on korkeampi taso, olipa kyseessä OpenCL, DX11 tai C-kieli, Fortran, DX11 -laskenta voidaan tukea. Ohjelmakehittäjinä he yleensä ymmärtävät vain nämä kielet tai rajapinnat, ja voivat kehittää omia ohjelmiaan useilla kielillä riippumatta siitä, minkä kielen he valitsevat, kunhan he haluavat käyttää GPU:n laskentatehoa, he voivat ohjelmoida CUDA:ta tällä arkkitehtuurilla.
Tekniset erot OpenCL:n ja CUDA:n välillä näkyvät pääasiassa toteutusmenetelmässä. C-kieleen perustuva CUDA on pakattu helposti kirjoitettavaan koodiin, joten jopa sirujen rakentamiseen perehtymättömät tutkijat voivat käyttää CUDA-työkaluja käytännön ohjelmien kirjoittamiseen. Vaikka OpenCL on syntaktisesti lähellä CUDA:a, se korostaa taustalla olevia toimintoja enemmän, joten se on vaikeampaa, mutta tästä syystä OpenCL voi toimia eri alustoilla.
CUDA on rinnakkaislaskentaarkkitehtuuri, joka sisältää käskykantaarkkitehtuurin ja vastaavan laitteistomoottorin. OpenCL on sovellusohjelmointirajapinta (API) rinnakkaislaskennalle, ja OpenCL on uusi CUDA-ohjelmakehityspolku C for CUDA:n lisäksi NVIDIA CUDA -arkkitehtuurissa.
Jos haluat saada enemmän hallintaa laitteistoon, voit käyttää OpenCL-API:a ohjelmointiin, ja jos et tiedä API:sta paljoa, voit myös ohjelmoida CUDA C:llä, jotka ovat kaksi eri ohjelmointitapaa, ja niissä on samankaltaisyyttä ja eroja. Mutta kun OpenCL- ja CUDA C -kielet kehitetään rinnakkaislaskennassa, niiden käsitteet ovat samankaltaisia, näillä kahdella ohjelmalla on suuria samankaltaisuuksia, joten ohjelmien siirtäminen toisiinsa on suhteellisen helppoa.


CUDA C -kieli on sijoiteltu eri tavalla kuin OpenCL, toisin sanoen se käyttää eri henkilöitä. CUDA C on korkeatasoinen kieli, jota voivat helposti käyttää myös ei-ammattilaiset, jotka eivät tunne laitteistoa paljoa; OpenCL on laitteistopohjainen sovelluskehitysrajapinta, joka antaa ohjelmoijille enemmän hallintaa laitteistoon, ja sen aloittaminen ja kehittäminen on vaikeampaa.
Ohjelmoijien käyttötottumukset ovat myös erittäin tärkeitä; ne, jotka käyttävät C-kieltä X86-prosessorialustalla, hyväksyvät helposti C-kielen CUDA GPU -alustan pohjalta; Ne, jotka ovat tottuneet käyttämään OpenGL-grafiikkakehitystä, suhtautuvat avoimesti avoimesti ja on erittäin helppoa kehittää grafiikkaan ja videoon liittyviä tietokoneohjelmia sen pohjalta.






Edellinen:HttpRuntime Cache lukee aseta välimuistitiedon kapseloinnin
Seuraava:Miksi et antaisi MB:tä set-avatareille
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com