.[ ČeskéHry.cz ].
KD-tree mono-tracer
Jdi na stránku 1, 2  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Ostatní
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Vilem Otte



Založen: 18. 09. 2007
Příspěvky: 462
Bydliště: Znojmo - Sedlesovice, Kravi Hora

PříspěvekZaslal: 11. duben 2011, 00:29:38    Předmět: KD-tree mono-tracer Odpovědět s citátem

Malé oživení tématu polopřímek ... chtěl bych poprosit zdejší majitele linux-64 zda by mohli otestovat http://www.otte.cz/forgottenlib-test-lnx64.tar.gz?

Potřebuje knihovny OpenGL a DevIL (bývalé OpenIL), DevIL však toto demo nepoužívá (ale já byl línej někde v půlce vývoje ho odstranit a teď se mi nechtělo).

Možná si to bude chtít trochu pohrát s ini souborem (informace v něm by měly být jasné). Mě by hlavně zajímalo, jak vám vše běží (případně vaše konfigurace - CPU + rychlost RAM především, GPU nehraje roli).

Jedná se o celkem rychlý ray tracer (není ještě úplně vypilovaný), ale používá:
- vysoce optimalizovaný ray-triangle intersection (silně překopaný a modifikovaný barycentrický test, až 2x rychlejší než Moellerův, ale něco předpočítá).
- modifikovaný KD-Tree (postavený v N-log-N čase, teoreticky jej lze použít pro menší dynamické scény)
- dlaždicový rendering (po 32x32 blocích), jedná se však o mono-tracer
- vláknování (jen pozor u ini, počet vláken = 1, nebo násobek 2)
- a pár dalších vychytávek... i když trocha magie s pointery by ještě šla předvést, abych získal nějakou rychlost navíc

Žádné stínování v demu neprovádím (úmyslně), jedná se mi čistě o výkon, jaký můžu vytáhnout z procesorů (nejde o žádný hybridní výpočet, ale čistý mono-tracer).

Zvolil jsem (vzhledem k velikosti souboru) relativně jednoduchý model pro výpočet...

Uvidíme co vymyslím u většího dema (dalšího) ... tam to bude chtít lepší model i nějaké stínování (path tracing? Razz);

32-bit binárka zatím nebude... ani Win32 binárka.

EDIT: Scéna začíná uprostřed scény (implicitně uprostřed koně Very Happy), WSAD (pohyb) a šipky (rozhled) by měli kameře trošku pomoct Twisted Evil

EDIT2: http://openil.sourceforge.net/ Stránky DevIL - deb balíky by měly být v repozitářích (Ubuntu i Debian je tam mají), rpm balíky si nejsem jistý, ale asi také budou (Suse je myslím má, Fedora, Red hat asi také) ... jinak asi kompilace ze zdrojáků na stránkách, na které odkazuji.
_________________
Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
Quiark



Založen: 29. 07. 2007
Příspěvky: 816
Bydliště: Chlívek 401

PříspěvekZaslal: 11. duben 2011, 10:05:22    Předmět: Odpovědět s citátem

Core i5 2,53 GHz
Kubuntu linux 64b běžící ve VirtualBoxu pod Windows 7Wink

V tom defaultním okně, na 1 vlákno, to dává kolem 2 MRay/s
_________________
Mám strach
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
franz



Založen: 30. 07. 2007
Příspěvky: 1325

PříspěvekZaslal: 11. duben 2011, 10:25:10    Předmět: Re: KD-tree mono-tracer Odpovědět s citátem

Vilem Otte napsal:
32-bit binárka zatím nebude... ani Win32 binárka


a Win64?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Vilem Otte



Založen: 18. 09. 2007
Příspěvky: 462
Bydliště: Znojmo - Sedlesovice, Kravi Hora

PříspěvekZaslal: 11. duben 2011, 11:27:05    Předmět: Odpovědět s citátem

citace:
Core i5 2,53 GHz
Kubuntu linux 64b běžící ve VirtualBoxu pod Windows 7Wink

V tom defaultním okně, na 1 vlákno, to dává kolem 2 MRay/s

Na Core i5 bys mohl mít i 8 vláken (a to by mohlo být kolem 8, 9 MRays/s), na i7 jsem dneska otestoval, cca 10 - 11 MRays/s.

citace:
a Win64?

Mno, vzhledem k tomu, že nemám na žádném PC k dispozici Win64, tak asi ne (možná časem ta Win32 bude).
_________________
Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
nou



Založen: 28. 07. 2007
Příspěvky: 1047

PříspěvekZaslal: 11. duben 2011, 12:58:55    Předmět: Odpovědět s citátem

Phenom II 955 3.2GHz to dava 7-8MRays/s
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 11. duben 2011, 14:33:29    Předmět: Odpovědět s citátem

64-bit Linux nevedu z praktických důvodů.
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Vilem Otte



Založen: 18. 09. 2007
Příspěvky: 462
Bydliště: Znojmo - Sedlesovice, Kravi Hora

PříspěvekZaslal: 11. duben 2011, 17:00:56    Předmět: Odpovědět s citátem

Díky za testy...

Mimochodem Eosie - můžu se zeptat proč přesně?
_________________
Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 11. duben 2011, 18:28:16    Předmět: Odpovědět s citátem

ja budu mit urypanou otazku - ve vedlejsim vlakne se prudi VODA ze mu release pro widle nejede poradne ve wine, ale na druhou stranu ty se s releasem pro windows ani nenamahas
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Icek



Založen: 29. 07. 2007
Příspěvky: 45
Bydliště: Banov 375

PříspěvekZaslal: 11. duben 2011, 18:41:54    Předmět: Odpovědět s citátem

Ubuntu 11.04 AMD QL-60 (2x 1,9 Ghz), 4GB Ram 800 Mhz - 1,5 az 2.1 MRays/s
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
frca



Založen: 28. 07. 2007
Příspěvky: 1554

PříspěvekZaslal: 11. duben 2011, 19:15:25    Předmět: Odpovědět s citátem

rezna: Všechno nemusí mít widlácký release. A něco třeba ani nemůže... Teď si rýpnu zase já: Vodovo vlákno není ve správné sekci a tobě je to jedno.
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Vilem Otte



Založen: 18. 09. 2007
Příspěvky: 462
Bydliště: Znojmo - Sedlesovice, Kravi Hora

PříspěvekZaslal: 11. duben 2011, 19:42:17    Předmět: Odpovědět s citátem

citace:
ja budu mit urypanou otazku - ve vedlejsim vlakne se prudi VODA ze mu release pro widle nejede poradne ve wine, ale na druhou stranu ty se s releasem pro windows ani nenamahas

Já se momentálně s widláckým releasem nenamáhám, protože mi tady šlo jen o to, abych viděl cca jak to běhá, než se budu namáhat vydat skutečné demo s ray tracingem a bude relativně brzo (a bude i release pro widle, ale jen 32-bit, jelikož nemám k dispozici 64-bitový windows).

Demo bude mít asi 3 releasy (lnx-32, lnx-64 ... obojí založené na XLib, takže teoreticky poběží i pod BSD a MacOS; dále pak win32).

Další detail je implementace, psát threading pro linuxy a windowsy najednou (navíc 2 verze linuxů - 64 a 32) a snažit se všude vytáhnout stejný výkon není úplně snadné (a nevytáhnete, 64-verze má skutečně vyšší výkon o cca 10 - 20 procent, linux verze má výkonově trochu nad windows verzí - cca 5 procent; jedná se čistě o správu paměti zřejmě).

A v nejbližší době do toho všeho začnu míchat GPU (což bude další zábavná věc, protože NVidia vs AMD, a u obou ještě Windows vs Linux ... dostávat ze všeho dostatečný výkon bude chtít jak na ompf říkáme ... "heavy wizardy and deep magic").

citace:
Ubuntu 11.04 AMD QL-60 (2x 1,9 Ghz), 4GB Ram 800 Mhz - 1,5 az 2.1 MRays/s

Díky, ale nějak málo taháš z dvoujádra (jel jsi na 2 vláknech, zkoušel si 4?) ... neměl jsem možnost otestovat na AMD, ale afaik na Phenom II jak zde někdo psal to jelo docela slušně.
_________________
Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
nou



Založen: 28. 07. 2007
Příspěvky: 1047

PříspěvekZaslal: 11. duben 2011, 19:51:29    Předmět: Odpovědět s citátem

a tu GPU cast chces tahat cez OpenGL alebo zapriahnes nove OpenCL?
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 11. duben 2011, 20:08:55    Předmět: Odpovědět s citátem

Vilem Otte napsal:
Mimochodem Eosie - můžu se zeptat proč přesně?


Potřebuju debuggovat existující hry (dělám driver = knihovnu, která se za běhu linkuje s hrama) a většina uzavřených her je jenom 32-bit. Problém je v tom, že 64-bit gdb (a jeho nadstavby, který používám) neumí debuggovat 32-bit aplikace, dostat z nich backtrace při crashi je skoro nemožný (valgrind jsem radši ani nezkoušel, o sysprof nemluvě). Další problém je, že bych musel mít paralelní build driveru pro obě architektury, tj. 32-bit pro hry a 64-bit pro jiný hry a jiný věci, což prodlužuje kompilaci. Na to se můžu akorát vysrat.

S 32-bit Linuxem tady tyhle věci nemusím řešit.
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Vilem Otte



Založen: 18. 09. 2007
Příspěvky: 462
Bydliště: Znojmo - Sedlesovice, Kravi Hora

PříspěvekZaslal: 11. duben 2011, 20:19:04    Předmět: Odpovědět s citátem

Upřímně, zkušenosti mám s GLSL gpgpu - třeba takový path tracer v GLSL je docela sranda psát, navíc to vypadá, že GLSL si o něco lépe poradí s kompilací programu (než OpenCL)... na druhou stranu pokoušet se o správu paměti v GLSL je docela sebevražda (jednoduše to je nemožné, takže GLSL asi vypadne).

Další možností je CUDA, s tou ale zkušenosti nemám (ale afaik se od OpenCL tolik neliší). Jenže uzavřít si možnost pro AMD, mého oblíbeného výrobce GPU, si rozhodně nehodlám - takže CUDA také padá.

DirectCompute možnost není (pro mě je podpora linuxu kritická).

OpenCL je tedy asi jedinou možností ... pokud se nepokusím o sebevraždu se správou paměti v GLSL - kde byly docela úspěchy s short-stack KD-restart algoritmem, ale to je u Radeonu X1900 - což je trošku něco jiného než moderní stream procesory - které s short-stackem zase problémy mají...
Prozatím jsem docela drtil výkon z CPU, kde z takového 8-core Xeonu s rychlou 2 GHz RAM, dokážu vytáhnout nějakých 32 MRays/s (což je imho docela dost), tady pro koníka.
Uvidím jak budu úspěšný s GPU (prakticky vezmu program co mám pro CPU a přepíšu jej pod OpenCL pro GPU, dodělám správu paměti a bude hotovo).

Snažím se tak ale dimenzovat svoji technologii do "APU" tedy ať se bude jednat o fyzikální, grafický či herní výpočet, kernel enginu ho přiřadí na zařízení, kde bude momentálně více volno.

Problém je dneska s pamětí, pro statické scény je relativně jednoduché držet v paměti vše vícekrát (1x pro GPU, 1x pro CPU), ale pro dynamické scény je třeba vše updatovat a posílat (buď GPU-CPU, nebo naopak)... a zde jsou zatím problémy (resp. nejsou, ono těch výpočtů zase není tolik). Obecně je ale lepší to spočítat na CPU a poslat na GPU (než to dělat naopak), opačná cesta je však někdy lepší.
_________________
Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 11. duben 2011, 21:02:03    Předmět: Odpovědět s citátem

Vilem Otte napsal:
... ale to je u Radeonu X1900 - což je trošku něco jiného než moderní stream procesory


Pokud hodláš podporovat tady tento Radeon, tak bych doporučil být hodně opatrný. Ani blbý pole tam neuděláš, pokud indexy do toho pole nejsou konstanty.
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Ostatní Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2  Další
Strana 1 z 2

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna