Ero sivun ”OpenCL” versioiden välillä
Siirry navigaatioon
Siirry hakuun
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 | '''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 | 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 | 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 | ||
[[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-tuen saat käyttöön [[RPM Fusion]] -pakettivarastosta komennolla | |||
yum install kmod-nvidia | yum install kmod-nvidia |