» »

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

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.

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

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.

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

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

photoshop CS5 cuda podpora

Oddelek: Pomoč in nasveti
131243 (815) opeter
»

No sound (Wolfenstein...)

Oddelek: Igre
152002 (1838) Slo-One
»

C++ programirane v Open GL oz. Direct x

Oddelek: Programiranje
242875 (2146) Vesoljc
»

Katero workstation graficno?

Oddelek: Kaj kupiti
191590 (1310) Senitel

Aalchemy (strani: 1 2 )

Oddelek: Zvok in slika
636001 (5239) Senitel

Več podobnih tem