Muokataan sivua OpenCL

Siirry navigaatioon Siirry hakuun
Varoitus: Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos kirjaudut sisään tai luot tunnuksen, muokkauksesi yhdistetään käyttäjänimeesi ja saat paremman käyttökokemuksen.

Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.

Nykyinen versio Oma tekstisi
Rivi 1: Rivi 1:
{{Perustietoa|en:OpenCL}}
{{Perustietoa|en:OpenCL}}
'''OpenCL''' on avoin monen valmistajan tukema standardi [[wikipedia:fi:Grafiikkasuoritin|grafiikkasuoritinten]] [[wikipedia:fi:GPGPU|GPGPU]]-ohjelmointiin (engl. 'General-purpose computing on graphics processing units'). Tunnetuin vaihtoehto tälle lienee vain [[NVIDIA]]n laitteissa käytettävä [[CUDA]].
'''OpenCL''' on avoin monen valmistajan tukema standardi [[wikipedia:fi:GPGPU|GPGPU]]-ohjelmointiin (engl. 'General-purpose computing on graphics processing units'). Tunnetuin vaihtoehto tälle lienee vain NVidian laitteissa käytettävä [[CUDA]].


Myös tavallisiin suorittimiin saa OpenCL-tuen, jolloin ohjelmointia voi kokeilla ilman grafiikkasuoritinta. Toisaalta halvin OpenCL:ää tukeva grafiikkasuoritin maksoi vuoden 2014 alussa vain noin 30 euroa.
Myös tavallisiin suorittimiin saa OpenCL-tuen, jolloin ohjelmointia voi kokeilla ilman GPU:ta. Toisaalta halvin OpenCL:ää tukeva GPU maksoi vuoden 2014 alussa vain noin 30 euroa.


==OpenCL-ympäristön toimivuuden tarkistava ohjelma==
==OpenCL-ympäristön toimivuuden tarkistava ohjelma==
Rivi 55: Rivi 55:
             printf("clGetDeviceIDs epäonnistui alustalle %i.\n", i);
             printf("clGetDeviceIDs epäonnistui alustalle %i.\n", i);
     }
     }
    return 0;
}
}
</syntaxhighlight>
</syntaxhighlight>
Rivi 65: Rivi 63:
OpenCL-ohjelman kääntämiseen (mutta ei linkittämiseen valmiiksi ohjelmaksi) riittävät OpenCL-otsakkeet. Ne asentuvat komennolla
OpenCL-ohjelman kääntämiseen (mutta ei linkittämiseen valmiiksi ohjelmaksi) riittävät OpenCL-otsakkeet. Ne asentuvat komennolla


  [[yum]] install opencl-utils-devel
  yum install opencl-utils-devel


Tämän jälkeen komento
Tämän jälkeen komento


  [[gcc]] -I/usr/include/opencl-utils/include -c hae-alustat.c
  gcc -I/usr/include/opencl-utils/include -c hae-alustat.c


tuottaa tiedoston <tt>hae-alustat.o</tt>
tuottaa tiedoston <tt>hae-alustat.o</tt>
Rivi 90: Rivi 88:
  Alustan 0 laite 0 toimii.
  Alustan 0 laite 0 toimii.


OpenCL vaatii Intelin dokumentaation mukaan suorittimen, jossa on vähintään [[wikipedia:fi:SSE|SSE]]4.1-tuki; testatusti kuitenkin vasta SSE4.2 riittää. Tämän tarkistaa helpoiten komennolla
OpenCL vaatii Intelin dokumentaation mukaan prosessorin, jossa on vähintään SSE4.1-tuki; testatusti kuitenkin vasta SSE4.2 riittää. Tämän tarkistaa helpoiten komennolla


  [[fgrep]] sse4_2 /proc/cpuinfo
  fgrep sse4_2 /proc/cpuinfo


[[Virtuaalikone]]issa on huomattava, että isäntäkoneen SSE-tuki ei välttämättä näy virtuaalikoneelle. Esimerksi [[VirtualBox]]issa tämä vaatii vähintään version 4.3.8, jonka lisäksi tuki on erikseen otettava käyttöön komennoilla
Virtuaalikoneissa on huomattava, että isäntäkoneen SSE-tuki ei välttämättä näy virtuaalikoneelle. Esimerksi VirtualBoxissa tämä vaatii vähintään version 4.3.8, jonka lisäksi tuki on erikseen otettava käyttöön komennoilla


  [[VBoxManage]] setextradata <vkoneen-nimi> VBoxInternal/CPUM/SSE4.1 1
  VBoxManage setextradata <vkoneen-nimi> VBoxInternal/CPUM/SSE4.1 1
  VBoxManage setextradata <vkoneen-nimi> VBoxInternal/CPUM/SSE4.2 1
  VBoxManage setextradata <vkoneen-nimi> VBoxInternal/CPUM/SSE4.2 1


Riittävän SSE-tuen puuttuessa edelläoleva testiohjelma löytää alustan ja laitteen, mutta epäonnistuu <tt>clCreateContext</tt>-funktiossa.
Riittävän SSE-tuen puuttuessa edelläoleva testiohjelma löytää alustan ja laitteen, mutta epäonnistuu <tt>clCreateContext</tt>-funktiossa.


====NVIDIAn OpenCL-ympäristö====
====NVidian OpenCL-ympäristö====


NVIDIAn OpenCL-tuen saat käyttöön [[RPM Fusion]] -pakettivarastosta komennolla
NVidian OpenCL-tuen saat käyttöön [[RPM Fusion]] -pakettivarastosta komennolla


  yum install kmod-nvidia
  yum install kmod-nvidia
Rivi 109: Rivi 107:
Koneen uudelleenkäynnistäminen varmistaa moduulin asentumisen.
Koneen uudelleenkäynnistäminen varmistaa moduulin asentumisen.


{{Ohjelmointikielet}}
[[Luokka:Laitteisto]]
[[Luokka:Laitteisto]]
[[Luokka:Ohjeet]]
[[Luokka:Ohjeet]]
[[Luokka:X]]
[[Luokka:X]]
Wikin materiaali on kaikkien vapaasti käytettävissä Creative Commons 3.0 - nimi mainittava -lisenssin alaisuudessa. TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!

Muokataksesi tätä sivua vastaa alla olevaan kysymykseen (lisätietoja):

Peruuta Muokkausohjeet (avautuu uuteen ikkunaan)
Noudettu kohteesta ”https://www.linux.fi/wiki/OpenCL