Ma prevashodna motivacija je bila "daj da nadjem nesto da zanimam mozak da ne zakrzlja posto ulazim u 30-te :-)" tu negde krajem prosle godine :-)
Cituckanjem o AI pristupima i istorije AI-ja sam dosao do neuroinformatike koja me je vrlo zainteresovala posto ukljucuje gomilu zanimljivih stvari, od oslanjanja na medicinu do informacione teorije. Dodatni izazov su ogromne mogucnosti optimizacije sto mi se vrlo svidja.
Anyway... SpikeFun v0.37 je uploadovan. Optimizovao sam malo iscrtavanje cele mreze.
+ Dodao sam neke opcije zbog zescih razlika u OpenGL drajverima izmedju NVidia-e i Intela...
Evo optimalnih parametara za koriscenje vizualizacije cele mreze.
Za NVidia kartice (testirano na GTX580, mada kontam da kaci i sve ranije modele):
Code:
SpikeFun /Wireframe
Za Intel integrisane GPU-ove (testirano na GMA HD 3000):
Code:
SpikeFun /Wireframe /ColorBuffer
Kako stvari stoje, NVidia OpenGL drajver je zesce optimizovan, i vise se isplati zvati glDrawRangeElements() individuelno za svaki neuron te sa glColor() menjati boju pre iscrtavanja (!!!) i sa if(voltage>THR) filtrirati neaktivne (nevidljive). Kod Intela se daleko vise poslati jedan veliki glDrawRangeElements() poziv za sve aktivne neurone tako sto se u niz koji drzi indekse spakuju samo vidljivi - ali to zahteva da se pre crtanja uploaduje i kompletan niz boja za svaku sinapsu (liniju) kao VBO bafer (sto moze biti i par desetina MB po frejmu!)
Rezultati na NVidia-i su kontraintuitivni posto kontam da i taj drajver mora u jednom momentu da uradi VBO transfer svih boja za svaki neuron/sinapsu + postoji overhead za vise desetina hiljada poziva glDrawRangeElements() po frejmu... ali ocigledno oni taj transfer rade mnogo bolje, verovatno koristeci neko kesiranje i slanje na GPU memoriju samo kada treba mozda i neku kompresiju itd... Intel drajver to ocigledno nema, i individualno crtanje neurona ga totalno urnise (vreme rendera skace i 10x).
[Ovu poruku je menjao Ivan Dimkovic dana 02.10.2011. u 13:07 GMT+1]
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos:
http://www.digicortex.net/node/17 Gallery:
http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! -
https://github.com/psyq321/PowerMonkey