Forum » Programiranje » Paralelizacija Ray Tracerja z orodjem CUDA
Paralelizacija Ray Tracerja z orodjem CUDA

Slovenet ::
Za seminarsko nalogo moram narediti paralelizacijo Ray Tracerja z orodjem CUDA. Imam tri krogle, ki se premikajo navzgor in navzdol, obenem pa so še osvetljene z virom svetlobe. To pomeni, da se pojavi še senca. Naloga zahteva paralelizacijo.
Komplet datotek za Raytracer, ki jih je potrebno skopirati v prazen C++ projekt v Visual Studiu:
https://www.hidrive.strato.com/lnk/0vCn...
Navodila za namestitev OpenGL-a:
http://aschultz.us/blog/archives/176
http://openglbook.com/setting-up-opengl...
Tule je pa celoten moj projekt, kako sem paraleliziral Ray Tracer v CUDI:
https://www.hidrive.strato.com/lnk/QuCn...
Lotil sem se že naloge, kar lahko vidite v projektu. Vendar pa zadeva ne deluje.
Komplet datotek za Raytracer, ki jih je potrebno skopirati v prazen C++ projekt v Visual Studiu:
https://www.hidrive.strato.com/lnk/0vCn...
Navodila za namestitev OpenGL-a:
http://aschultz.us/blog/archives/176
http://openglbook.com/setting-up-opengl...
Tule je pa celoten moj projekt, kako sem paraleliziral Ray Tracer v CUDI:
https://www.hidrive.strato.com/lnk/QuCn...
Lotil sem se že naloge, kar lahko vidite v projektu. Vendar pa zadeva ne deluje.
- spremenilo: Slovenet ()

Slovenet ::
Mi zna kdo razložiti, kaj naredi tale spodnja koda?
cudaGLUnmapBufferObject(vbo);
//glFlush();
glBindBuffer(GL_ARRAY_BUFFER, vbo);
glVertexPointer(2, GL_FLOAT, 12, 0);
glColorPointer(4,GL_UNSIGNED_BYTE,12,(GLvoid*)8);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_COLOR_ARRAY);
glDrawArrays(GL_POINTS, 0, WINDOW * WINDOW);
glDisableClientState(GL_VERTEX_ARRAY);
To so zgleda ene OpenGL funkcije.
cudaGLUnmapBufferObject(vbo);
//glFlush();
glBindBuffer(GL_ARRAY_BUFFER, vbo);
glVertexPointer(2, GL_FLOAT, 12, 0);
glColorPointer(4,GL_UNSIGNED_BYTE,12,(GLvoid*)8);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_COLOR_ARRAY);
glDrawArrays(GL_POINTS, 0, WINDOW * WINDOW);
glDisableClientState(GL_VERTEX_ARRAY);
To so zgleda ene OpenGL funkcije.

Senitel ::
Da, tole je OpenGL. Kar zadeva naredi je, da nek OpenGL buffer (vbo) "odveže" iz CUDE in ga vklopi v OpenGL pipeline in potem izriše cel kup točk iz tega bufferja na zaslon.
To ni ravno najboljša ideja. Boljša (hitrejša) je, da s CUDO zgeneriraš teksturo in potem samo izrišeš en pravokotnik čez cel zaslon s to teksturo.
To ni ravno najboljša ideja. Boljša (hitrejša) je, da s CUDO zgeneriraš teksturo in potem samo izrišeš en pravokotnik čez cel zaslon s to teksturo.

Slovenet ::
Zdaj sem pa naredil paralelizacijo Ray Tracerja z orodjem CUDA, pri čemer se tri krogle premikajo navzgor in navzdol, obenem pa so še osvetljene z virom svetlobe.
Zapisati moram še vrednosti časovnih meritev izvajanja procesiranja. Tega pa ne morem storiti, ker nimam računalnika z ustrezno strojno opremo. Prosim, če lahko kdo opravi te meritve. Rabim pa pet meritev. V vsaki od meritev se mora izvesti po 20 okvirjev. Sporočite mi čas, potreben za prikaz posameznega okvirja pri posamezni meritvi, lahko pa tudi povprečen čas za prikaz posameznega okvirja. Da boste to lahko izvedli, si snemite dol spodnje datoteke.
Datoteka s kodo:
https://www.hidrive.strato.com/lnk/Mmin...
Celoten projekt z vsemi datotekami:
https://www.hidrive.strato.com/lnk/SLCH...
Datoteka z navodili za seminarsko nalogo:
https://www.hidrive.strato.com/lnk/rMCn...
Zapisati moram še vrednosti časovnih meritev izvajanja procesiranja. Tega pa ne morem storiti, ker nimam računalnika z ustrezno strojno opremo. Prosim, če lahko kdo opravi te meritve. Rabim pa pet meritev. V vsaki od meritev se mora izvesti po 20 okvirjev. Sporočite mi čas, potreben za prikaz posameznega okvirja pri posamezni meritvi, lahko pa tudi povprečen čas za prikaz posameznega okvirja. Da boste to lahko izvedli, si snemite dol spodnje datoteke.
Datoteka s kodo:
https://www.hidrive.strato.com/lnk/Mmin...
Celoten projekt z vsemi datotekami:
https://www.hidrive.strato.com/lnk/SLCH...
Datoteka z navodili za seminarsko nalogo:
https://www.hidrive.strato.com/lnk/rMCn...

ragezor ::
na faksu majo ziher compe, ki poganjajo cudo. pojdi v kak lab in jih prosi.
ali pa za mali dnar/zastonj mas na amazon aws comp s cudo. najami ga za eno uro.
ali pa za mali dnar/zastonj mas na amazon aws comp s cudo. najami ga za eno uro.

Hayabusa ::
Tega pa ne morem storiti, ker nimam računalnika z ustrezno strojno opremo.
Tole mogoče ?
http://docs.nvidia.com/cuda/cuda-gettin...
http://docs.nvidia.com/cuda/cuda-gettin...
Če uporabljaš linux, dodaj "time" pred ukaz za zagon sampla.
Zgodovina sprememb…
- spremenilo: Hayabusa ()

Isotropic ::
pejt do kolega z nv graficno. itak so drugi po trznem delezu poleg intela, s tem, da je le-ta vecinoma v business okolju.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | photoshop CS5 cuda podporaOddelek: Pomoč in nasveti | 1452 (1024) | opeter |
» | No sound (Wolfenstein...)Oddelek: Igre | 2144 (1980) | Slo-One |
» | C++ programirane v Open GL oz. Direct xOddelek: Programiranje | 3041 (2312) | Vesoljc |
» | Katero workstation graficno?Oddelek: Kaj kupiti | 1706 (1426) | Senitel |
⊘ | Aalchemy (strani: 1 2 )Oddelek: Zvok in slika | 6555 (5793) | Senitel |