Ero sivun ”OpenCL” versioiden välillä

Siirry navigaatioon Siirry hakuun
132 merkkiä lisätty ,  10. toukokuuta 2022
p
nvidia
(Main-funktion tulee "returnata")
p (nvidia)
 
(2 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 1: Rivi 1:
{{Perustietoa|en:OpenCL}}
{{Perustietoa|en:OpenCL}}
'''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]].
'''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]].


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.
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.


==OpenCL-ympäristön toimivuuden tarkistava ohjelma==
==OpenCL-ympäristön toimivuuden tarkistava ohjelma==
Rivi 65: Rivi 65:
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 90:
  Alustan 0 laite 0 toimii.
  Alustan 0 laite 0 toimii.


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
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


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


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
[[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


  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
3 173

muokkausta

Navigointivalikko