Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

SpikeFun - Artificial Nervous System Demo

[es] :: Veštačka inteligencija :: SpikeFun - Artificial Nervous System Demo
(TOP topic, by Gojko Vujovic)
Strane: << < .. 15 16 17 18 19 20 21 22 23

[ Pregleda: 133215 | Odgovora: 455 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
*.adsl-surfen.hetnet.nl.



+7174 Profil

icon Re: SpikeFun - Artificial Nervous System Demo26.11.2018. u 14:39 - pre 65 meseci
Zanimljivo zapazanje, prilikom kreiranja mreze na Amazonovoj EPYC 7571 masini, zauzece procesora ne prelazi 80% - mreza se pravi sa 96 niti i tokom rada CPU izgleda zauzet ovako:



Na Intel-ovom hardveru gde je masina 100% vasa i gde je NUMA mapirana kako treba u OS-u, zauzece procesora prilikom pravljenja mreze bi trebalo da bude 99-100%.

Nemam nista za profiliranje na ovoj Amazonovoj AMD masini, prepostavljam da je problem u nejednako efikasnom pristupu memoriji (uprkos cinjenici da Amazon prijavljuje sistem kao NUMA i da ima 6 nodova).

Ne znam kako hardverski izgleda ta Amazonova r5a.24xlarge masina, mislim nude 96 vCPU-ova / 768 GB RAM-a, nije mi jasno kakav je onda to hardver tj. kako izgleda fizicki?

Tj. da li je to fizicki zapravo dual-socket EPYC 7571 masina sa ukupno 64 jezgra / 128 vCPU-ova koju Amazon rentira kao dve (ili vise) instance kupcima?

Ako je tako, onda ovo objasnjava probleme sa performansama koje vidim posto onda zapravo delim masinu sa nekim i mozda ne pristupam memoriji optimalno.


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
Prikačeni fajlovi
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
*.speed.planet.nl.



+7174 Profil

icon Re: SpikeFun - Artificial Nervous System Demo26.11.2018. u 14:55 - pre 65 meseci
Btw, malopre sam zbog brzog testiranja radio isti test i sa Intel instancom (r5.24xlarge) - i sa Intel instancom gradjenje mreze zauzima 100% svih 96 vCPU-ova.

Intel masina je isto sa 96 virtuelnih CPU-ova, samo sto je "unutra" fizicki CPU Intel Xeon Platinum 8175M koji ima 24 jezgara / 48 vCPU-ova, pa je cela r5.24xlarge masina zapravo "vasa" tj. rentiraju vam ceo dual-socket sistem.

Takodje, Intelov sistem ima samo 2 NUMA noda sa po 48 vCPU-ova u svakom.

Na prvi pogled mi deluje da je problem sto Amazon verovatno "cepka" AMD masinu na vise instanci i da se to ne odrazava lepo na performanse aplikacija koje su izuzetno zahtevne po pitanju memorijskog bandwidth-a.

Btw kreiranje mreze na Intel masini traje duplo krace vremena.

- 20% razlike se moze pripisati problemu opisanom gore (uzrok nepoznat)
- Intel-ovi CPU-ovi trce na 2.5 GHz, AMD-ovi na 2.2 GHz

Ostatak je verovatno AVX throughput.
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
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
*.speed.planet.nl.



+7174 Profil

icon Re: SpikeFun - Artificial Nervous System Demo26.11.2018. u 15:13 - pre 65 meseci
I evo, simulacija sa 4.6 milijardi sinapsi koja trci na AMD EPYC masini.

Moj scheduler uspeva da drzi procesore uposljene 96-97%, nije lose.

Sad i AMD EPYC moze da se doda u listu kompatibilnih :)


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
Prikačeni fajlovi
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
*.speed.planet.nl.



+7174 Profil

icon Re: SpikeFun - Artificial Nervous System Demo26.11.2018. u 19:07 - pre 65 meseci
Heh, sad pogledah malo Wine kod i mnogo toga mi je jasnije ;-)

Code:

BOOL WINAPI GetNumaHighestNodeNumber(PULONG highestnode)
{
    *highestnode = 0;
    FIXME("(%p): semi-stub\n", highestnode);
    return TRUE;
}

BOOL WINAPI GetNumaNodeProcessorMask(UCHAR node, PULONGLONG mask)
{
    FIXME("(%c %p): stub\n", node, mask);
    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
    return FALSE;
}


I tako dalje...

Na AWS masini ako trcim kod pod Wine-om dobijem sistem od 48 fizickih CPU-ova, 32 logicka (?!) i 1 NUMA nod :-)


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
 
Odgovor na temu

MajorFatal
Milija Jakic
opravljam oluke, 1337LAB
Bg

Član broj: 36595
Poruke: 1335
*.dynamic.isp.telekom.rs.



+559 Profil

icon Re: SpikeFun - Artificial Nervous System Demo28.11.2018. u 02:09 - pre 65 meseci
Citat:
Ivan Dimkovic:
Ako hoces da izrenderujes svaku sinapsu, moras za svaki frejm da povuces ~80 GB podataka. Moze da se optimizuje recimo da se fizicke promene na mrezi salju svakih N sekundi (mozda cak i na minut), a izmedju toga da se salju samo promene voltaze, sto je otprilike jedna 4096x4096 tekstura sa jednim 8-bitnim kanalom, sto je oko 16 GB po sekundi.

16 GB po sekundi (+ par stotina GB svakih par minuta) nije strasno, ali cela simulacija bi morala da radi offline u lock-stepu sa render farmom kako bi svaki frejm bio izrenderovan.



A jel ima varijanta da ako nećeš da izrenderuješ baš svaku sinapsu (jer ionako ne možemo da vidimo 5 milijardi sinapsi) da umesto da se promene šalju svakih N sekundi - renderuješ svaki N-ti neuron i njegove sinapse? Tipa svaki hiljaditi na 16 mil neurona opet ćeš imati render od oko najmanje16000 objekata na sceni, opet ćeš imati scenu sličnu ovoj koju već imaš i moći da pratiš šta se dešava...?

Pobornik sam teorije da u svakoj šali ima malo istine, ekhm, da ljudi olako predju preko nekih potencijalno dobrih ideja, simulirani mozak koji gleda sam sebe zvuči malo blesavo, ali da jedna hemisfera posmatra drugu nije čini mi se nemoguć scenario pogotovo u ranim fazama razvoja, i pri ponašanju neurona i sinapsi kakve si opisao, u tim fazama ionako ništa drugo ne bi imale da "gledaju".
A slaže se i sa tvojim opisom šta se dešava prilikom presecanja korpus kolonusa ili kako se zove beše.

Tek sad sam pregledao temu malo detaljnije, koji si ti luđak , u pozitivnom smislu naravno. :)

U vezi sa renderom, ako ne odustaješ od doslednosti možda opet da proveriš kako renderuju dim, prašinu, kapljice i sl. u 3D programima i u igricama, ovaj tvoj model me najviše podseća na to, tu idu oni neki "objekti" tipa particles, naravno da zoom ne pomaže...
Nemoj da pricas?
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
*.speed.planet.nl.



+7174 Profil

icon Re: SpikeFun - Artificial Nervous System Demo28.11.2018. u 10:47 - pre 65 meseci
Pa imas redukovanu vizualizaciju, ona je aktivna po defaultu i ona ne renderuje individualne sinapse vec samo neurone, i prilicno je brza.

Sto se trikova iz igrica tice, u nekom smislu bi svakako pomoglo, nije nikakav problem (mislim teorijski, prakticno sigurno nekoliko dana posla da to izgleda OK i radi brzo) napisati shader koji ce da proceduralno generise "sinapse".

Ali to bi onda bile slucajno generisane pozicije (posto su upravo pozicije te koje zauzimaju najvise mesta) i to onda ne bi bila mreza koju si generisao, vec neka "lazna" mreza koju su shaderi generisali.

Alternativno resenje je mozda redukcija preciznosti - tipa kodiras lokaciju neurona i kompartmenta, a sinapse okolo kodiras kao, npr. 8-bitne fixed-point brojeve. Onda imas 24 bita za indeks neurona (ciju lokaciju i ovako i onako cuvas) i 24 bita za indeks sinapsi, ukupno 48 bita, umesto 96 bita za kompletnu lokaciju sinapse (3x32). Znaci oko 50% ustede, samo sto onda moras u shaderu to da otpakujes, gledas tabele lokacija neurona i sl.... ajde da je usteda 10x pa da ima smisla cimati se ali za 2x... pa nije bas neki posao :)
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
 
Odgovor na temu

MajorFatal
Milija Jakic
opravljam oluke, 1337LAB
Bg

Član broj: 36595
Poruke: 1335
*.dynamic.isp.telekom.rs.



+559 Profil

icon Re: SpikeFun - Artificial Nervous System Demo29.11.2018. u 01:06 - pre 65 meseci
Pa izvini, temu sam pogledao kad se tek pojavila pa mi nije delovala obećavajuće (simulacija nečeg što ne može biti dostignuto po kompleksnosti, funkcionalnosti i na neodgovarajućoj podlozi u vidu hardvera), ali šta si sve uradio u medjuvremenu i na koji način stvarno svaka čast.

Nisam mislio na trikove koji su varanje, nego trikove koji rešavaju neku vrstu problema sa kojom ili sličnom se ti sad suočavaš, tipa ako su pre 20 godina imali softver koji simulira vlati kose kod ljudi, a istih ima oko 100.000 na glavi, to je već u ravni sa tvojom jednom od slabijih simulacija po broju neurona, i sad ako su bar donekle neuroni uporedivi sa vlatima kose (kompleksniji su naravno) a oni rešili i "koližn detekšn" i preseke valjaka i render i ovo ono, da se ne mučiš oko nečeg što već ima rešenje, slično je sa drvećem s tim što ono već više podseća na neuron, zadaju x grana, 1000 x lišća pa kad izrenderuje...a obično ostave i otvorene one slajdere pa možeš da zahtevaš I drvo sa milion grana, doduše to onda ume da potraje. w-ray ili kako beše je valjda standard za neke ozbiljnije 3D programe, ali sam i vidjao da kad se smore sa time, naročito kad su kompleksnije scene u pitanju, ubace scenu u Bruce i odrade kako treba i u kratkom roku.

Nego ne znam ništa o neuronskim mrežama, a ni o renderingu mnogo pa da se odjavim.

Nemoj da pricas?
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
*.speed.planet.nl.



+7174 Profil

icon Re: SpikeFun - Artificial Nervous System Demo29.11.2018. u 08:39 - pre 65 meseci
@MajorFatal,

Ali nije problem proceduralno generisati neuronsko "drvo" na GPU-u, sa slajderom ili konfiguracionom opcijom kako zelis da se grana (ima cak i jako lepih radova na tu temu kako proceduralno generisati realno izgledajuce neurone cak mislim da smo i diskutovali o tome ovde: http://www.elitesecurity.org/p3223987, doduse ne za GPU vec uopste ali portovati to na shader ne smatram problemom vec samo pitanjem programerskog vremena).

Problem je ako zelis da tacno predstavis gde ti se neka sinapsa nalazi, onda moras da kodiras njenu poziciju u 3D prostoru. Imas ih 4 milijarde npr. u simulaciji, i to je puno podataka. Kao sto rekoh, mozes malo da se izvuces pa da ne kodiras sinapsu kao 3 float-a, ja je vec kodiram kao 3 short-a (16-bitna fixed pointa) a verovatno moze jos malo da se ustedi ako se zna da su sve relativno blizu referentne tacke (grane od "drveta") pa mozda i 8-bitna preciznost moze da prodje (znaci 24 bita po 3D poziciji).

Ako im ne kodiras pozicije vec neke proceduralne parametre sa kojima generises celo "drvo" ili "sumu", onda varas, ne renderujes simulaciju vec "simulaciju simulacije", sto je isto OK ako mene pitas za neki drugi projekat, moze biti i vrlo zanimljivo, ali nije problem koji resavam ovde.

Trenutno je jos jedna usteda ta da se smatra da su sinapse "nedaleko" od grane kompartmenta pa se ne kodiraju individualne pozicije sinapsi vec "samo" grana kompartmenta (grana) neurona, ali i to je i dalje jako puno podataka (jedan neuron ima i preko 200 kompartmenta ako simulacija radi u multi-compartment modu koji pravi realisticne neurone, u single-compartment modu su "neuroni" samo "tacke"). Ali zapravo najveci podatak su indeksi koji kazu sta treba da se crta (linija od tacke A do tacke B, itd.).
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
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
*.speed.planet.nl.



+7174 Profil

icon Re: SpikeFun - Artificial Nervous System Demo03.12.2018. u 00:00 - pre 65 meseci
U sledecoj verziji ubijam podrsku za Windows XP, Vistu a mozda (verovatno) i 32-bitne izvrsne fajlove.

Nova verzija (1.33) ce imati jos bolje optimizovani CPU work scheduler, koji ce uzimati u obzir i kes hijerarhiju CPU-ova kao i relativnu udaljenost izmedju NUMA nodova na vecim serverskim sistemima. Na zalost API-ji za ovo postoje samo u Win7/Server2008 v2 OS-evima, i odrzavanje duplog koda zbog starih OS-eva postaje nocna mora.

Takodje, nisam siguran da je 32-bitna verzija puno relevantna danas - takodje nema pola API-ja koji mi trebaju za ovo i zbog toga imam workarounde.
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
 
Odgovor na temu

MajorFatal
Milija Jakic
opravljam oluke, 1337LAB
Bg

Član broj: 36595
Poruke: 1335
*.dynamic.isp.telekom.rs.



+559 Profil

icon Re: SpikeFun - Artificial Nervous System Demo03.12.2018. u 02:12 - pre 65 meseci
Rukovodiću se onom da "nema glupih pitanja", mada mislim da autor te izreke nije imao i mene u vidu...

Citat:
Ivan Dimkovic:
Ali nije problem proceduralno generisati neuronsko "drvo" na GPU-u, sa slajderom ili konfiguracionom opcijom kako zelis da se grana (ima cak i jako lepih radova na tu temu kako proceduralno generisati realno izgledajuce neurone cak mislim da smo i diskutovali o tome ovde: http://www.elitesecurity.org/p3223987, doduse ne za GPU vec uopste ali portovati to na shader ne smatram problemom vec samo pitanjem programerskog vremena).


Ne znam kako svaki put shvatiš da ti predlažem nešto proceduralno, kosu i drvo nisam naveo zbog načina na koji ih generišu, već zbog složenosti, velikog broja objekata na sceni i onog što sledi posle, zbog rendera, mislim da se ne radi kako si ti opisao da se prvo crtaju udaljeniji objekti pa onda bliži, nego i za njih važi da se oni objekti koji se ne vide iz ugla posmatranja nikad ni ne iscrtavaju, ovo nisam 100% siguran pa me ne moraš držati za reč.

Citat:

Problem je ako zelis da tacno predstavis gde ti se neka sinapsa nalazi,


A kako ti znaš gde ti se neka sinapsa tačno nalazi??? Ja sam stekao utisak da sa onog skenera dobijaš 1^3 mm kockice ali za njih samo info da li su "short" neuroni (masa) ili snop neurona prolazi kroz taj deo prostora? To nisu tačne pozicije sinapsi?

Citat:

onda moras da kodiras njenu poziciju u 3D prostoru. Imas ih 4 milijarde npr. u simulaciji, i to je puno podataka. Kao sto rekoh, mozes malo da se izvuces pa da ne kodiras sinapsu kao 3 float-a, ja je vec kodiram kao 3 short-a (16-bitna fixed pointa) a verovatno moze jos malo da se ustedi ako se zna da su sve relativno blizu referentne tacke (grane od "drveta") pa mozda i 8-bitna preciznost moze da prodje (znaci 24 bita po 3D poziciji).


Ako već dobijaš pozicije od nekud, te pozicije su nekako zabeležene, sa nekim nivoom preciznosti, kako onda smeš da toliko redukuješ preciznost?

Citat:

Ako im ne kodiras pozicije vec neke proceduralne parametre sa kojima generises celo "drvo" ili "sumu", onda varas, ne renderujes simulaciju vec "simulaciju simulacije", sto je isto OK ako mene pitas za neki drugi projekat, moze biti i vrlo zanimljivo,


Sad bi se sporečkali ali da ne tupim, ako imaš flašu vode i daš 10 ljudi da urade simulacije te flaše, i oni urade 10 različitih simulacija, svaku od njih možeš da proglasiš za "simulaciju simulacije" jer će više ličiti međusobno nego bilo koja od njih na original, možeš samo da tvrdiš da je neka preciznija simulacija od neke druge...ali dobro skontao sam da ti težiš što većoj biološkoj doslednosti ili već koji si termin upotrebio.

Citat:

ali nije problem koji resavam ovde.


Kad smo već kod te sitnice, detalja, koji ti tačno problem rešavaš tu? :)


Citat:

Trenutno je jos jedna usteda ta da se smatra da su sinapse "nedaleko" od grane kompartmenta pa se ne kodiraju individualne pozicije sinapsi vec "samo" grana kompartmenta (grana) neurona, ali i to je i dalje jako puno podataka (jedan neuron ima i preko 200 kompartmenta ako simulacija radi u multi-compartment modu koji pravi realisticne neurone, u single-compartment modu su "neuroni" samo "tacke"). Ali zapravo najveci podatak su indeksi koji kazu sta treba da se crta (linija od tacke A do tacke B, itd.).


Možda bi mogao da razmisliš da napišeš kraći rečnik manje poznatih reči i izraza naročito za neurološki deo, u medjuvremenu sam pročitao celu temu (i dalje frapiran šta si sve uradio) ali neću biti prvi koji kaže da se ovo teško uopšte prati...pročitao a i dalje na primer ne znam šta je kompartment? Deo ili tačka odakle polaze grupa dendrita, akson...?
Zar nisu za raznorazne indekse tata-mate oni što se bave bazama podataka? Da li bi išta promenilo ako koordinatni početak smestiš u centar mozga? Sve projekcije su ti čini mi se iz perspektive, i ona kocka sa prve strane teme je izometriski deformisana, možda bi bilo zgodno top view za korteks, right za korpus, front za talamus? Ti pogledi nisu izometrijski već kao projekcija na ravan...

Nemoj da pricas?
 
Odgovor na temu

MajorFatal
Milija Jakic
opravljam oluke, 1337LAB
Bg

Član broj: 36595
Poruke: 1335
*.dynamic.isp.telekom.rs.



+559 Profil

icon Re: SpikeFun - Artificial Nervous System Demo03.12.2018. u 02:22 - pre 65 meseci
Citat:
Ivan Dimkovic:
Alternativno resenje je mozda redukcija preciznosti - tipa kodiras lokaciju neurona i kompartmenta, a sinapse okolo kodiras kao, npr. 8-bitne fixed-point brojeve. Onda imas 24 bita za indeks neurona (ciju lokaciju i ovako i onako cuvas) i 24 bita za indeks sinapsi, ukupno 48 bita, umesto 96 bita za kompletnu lokaciju sinapse (3x32). Znaci oko 50% ustede, samo sto onda moras u shaderu to da otpakujes, gledas tabele lokacija neurona i sl.... ajde da je usteda 10x pa da ima smisla cimati se ali za 2x... pa nije bas neki posao :)


Da nisi nešto zeznuo ovde, u prvom slučaju računaš neuron i kompartment plus sinapse, a u drugom samo sinapse, ako je u drugom slučaju sinapse 96 plus neuron i kompartment još 32 onda je to 128, u odnosu na 48 ~2,5x tj. 1/4, nije isto čekati render 4 sata ili 1 sat? :)

Nemoj da pricas?
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
*.speed.planet.nl.



+7174 Profil

icon Re: SpikeFun - Artificial Nervous System Demo03.12.2018. u 08:35 - pre 65 meseci
Citat:
MajorFatal:
Rukovodiću se onom da "nema glupih pitanja", mada mislim da autor te izreke nije imao i mene u vidu...

Citat:
Ivan Dimkovic:
Ali nije problem proceduralno generisati neuronsko "drvo" na GPU-u, sa slajderom ili konfiguracionom opcijom kako zelis da se grana (ima cak i jako lepih radova na tu temu kako proceduralno generisati realno izgledajuce neurone cak mislim da smo i diskutovali o tome ovde: http://www.elitesecurity.org/p3223987, doduse ne za GPU vec uopste ali portovati to na shader ne smatram problemom vec samo pitanjem programerskog vremena).


Ne znam kako svaki put shvatiš da ti predlažem nešto proceduralno, kosu i drvo nisam naveo zbog načina na koji ih generišu, već zbog složenosti, velikog broja objekata na sceni i onog što sledi posle, zbog rendera, mislim da se ne radi kako si ti opisao da se prvo crtaju udaljeniji objekti pa onda bliži, nego i za njih važi da se oni objekti koji se ne vide iz ugla posmatranja nikad ni ne iscrtavaju, ovo nisam 100% siguran pa me ne moraš držati za reč.


Razumeo sam ja tebe sta predlazes (bar mislim da jesam), ali mislim da je za veliki broj podataka radjenje eliminacije onoga sta ce biti vidjeno izuzetno ogroman posao sam po sebi, i bio bio radjen na CPU (nemas memoriju).

OK, to imalo smisla ako zadas fiksni "FOV" i ne setas kameru, vec se jednom pre-kalkulise nivo detalja i samo ti neuroni se renderuju, sto i nije losa dodatna opcija (dodacu je :-)

Citat:

Citat:

Problem je ako zelis da tacno predstavis gde ti se neka sinapsa nalazi,


A kako ti znaš gde ti se neka sinapsa tačno nalazi??? Ja sam stekao utisak da sa onog skenera dobijaš 1^3 mm kockice ali za njih samo info da li su "short" neuroni (masa) ili snop neurona prolazi kroz taj deo prostora? To nisu tačne pozicije sinapsi?


Generator mreze, simulator i vizualizator su tri razlicite komponente.

To sto generator generise pozicije sinapse relativno slucajno i proceduralno na onsnovu (relativo) nepreciznih MRI podataka i podataka iz literature o grananju neurona i gustine i tipa sinapsi ne znaci da u buducnosti to nece biti 100% tacno skenirana mreza.

Zbog toga neko proceduralno generisanje neurona u vizualizatoru nije smisleno, njegov posao je da tacno renderuje ono sto si mu poslao da renderuje, bez obzira na to kako je to nastalo.

Citat:

Citat:

onda moras da kodiras njenu poziciju u 3D prostoru. Imas ih 4 milijarde npr. u simulaciji, i to je puno podataka. Kao sto rekoh, mozes malo da se izvuces pa da ne kodiras sinapsu kao 3 float-a, ja je vec kodiram kao 3 short-a (16-bitna fixed pointa) a verovatno moze jos malo da se ustedi ako se zna da su sve relativno blizu referentne tacke (grane od "drveta") pa mozda i 8-bitna preciznost moze da prodje (znaci 24 bita po 3D poziciji).


Ako već dobijaš pozicije od nekud, te pozicije su nekako zabeležene, sa nekim nivoom preciznosti, kako onda smeš da toliko redukuješ preciznost?


Smes da redukujes preciznost zato sto su sinapse relativno malo udaljene od centra "drveta" (reda velicine max 0.1 mm) pa mozes da prodjes sa nizom preciznosti zato sto kao referentnu tacku koristis centar njihovog "partent" drveta.


Citat:

Ako im ne kodiras pozicije vec neke proceduralne parametre sa kojima generises celo "drvo" ili "sumu", onda varas, ne renderujes simulaciju vec "simulaciju simulacije", sto je isto OK ako mene pitas za neki drugi projekat, moze biti i vrlo zanimljivo,


Sad bi se sporečkali ali da ne tupim, ako imaš flašu vode i daš 10 ljudi da urade simulacije te flaše, i oni urade 10 različitih simulacija, svaku od njih možeš da proglasiš za "simulaciju simulacije" jer će više ličiti međusobno nego bilo koja od njih na original, možeš samo da tvrdiš da je neka preciznija simulacija od neke druge...ali dobro skontao sam da ti težiš što većoj biološkoj doslednosti ili već koji si termin upotrebio.

Citat:

Citat:

ali nije problem koji resavam ovde.



Da.

Citat:

Kad smo već kod te sitnice, detalja, koji ti tačno problem rešavaš tu? :)


Sto brza simulacija modernih modela neurona, generator mreze i vizualizator su samo dodatne alatke za validaciju ovog prvog.

Citat:

Citat:

Trenutno je jos jedna usteda ta da se smatra da su sinapse "nedaleko" od grane kompartmenta pa se ne kodiraju individualne pozicije sinapsi vec "samo" grana kompartmenta (grana) neurona, ali i to je i dalje jako puno podataka (jedan neuron ima i preko 200 kompartmenta ako simulacija radi u multi-compartment modu koji pravi realisticne neurone, u single-compartment modu su "neuroni" samo "tacke"). Ali zapravo najveci podatak su indeksi koji kazu sta treba da se crta (linija od tacke A do tacke B, itd.).


Možda bi mogao da razmisliš da napišeš kraći rečnik manje poznatih reči i izraza naročito za neurološki deo, u medjuvremenu sam pročitao celu temu (i dalje frapiran šta si sve uradio) ali neću biti prvi koji kaže da se ovo teško uopšte prati...pročitao a i dalje na primer ne znam šta je kompartment? Deo ili tačka odakle polaze grupa dendrita, akson...?
Zar nisu za raznorazne indekse tata-mate oni što se bave bazama podataka? Da li bi išta promenilo ako koordinatni početak smestiš u centar mozga? Sve projekcije su ti čini mi se iz perspektive, i ona kocka sa prve strane teme je izometriski deformisana, možda bi bilo zgodno top view za korteks, right za korpus, front za talamus? Ti pogledi nisu izometrijski već kao projekcija na ravan...


Najprostije, ako neuron gledamo kao drvo, kompartment je "grana" - ta trana moze biti dendrit ili deo aksona (zamisli dendrit kao granu drveta a akson kao granu korena, recimo). Sinapsa je veza izmedju 2 kompartmenta 2 razlicita drveta.

Sto se projekacija tice, ali ti uvek pocinjes uvek od istih kompletnih 3D podataka, a onda ih projektujes u zavisnosti od pogleda kamere itd. To graficka kartica zapravo najefikasnije transformise.
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
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
*.speed.planet.nl.



+7174 Profil

icon Re: SpikeFun - Artificial Nervous System Demo03.12.2018. u 08:49 - pre 65 meseci
Citat:
MajorFatal:
Citat:
Ivan Dimkovic:
Alternativno resenje je mozda redukcija preciznosti - tipa kodiras lokaciju neurona i kompartmenta, a sinapse okolo kodiras kao, npr. 8-bitne fixed-point brojeve. Onda imas 24 bita za indeks neurona (ciju lokaciju i ovako i onako cuvas) i 24 bita za indeks sinapsi, ukupno 48 bita, umesto 96 bita za kompletnu lokaciju sinapse (3x32). Znaci oko 50% ustede, samo sto onda moras u shaderu to da otpakujes, gledas tabele lokacija neurona i sl.... ajde da je usteda 10x pa da ima smisla cimati se ali za 2x... pa nije bas neki posao :)


Da nisi nešto zeznuo ovde, u prvom slučaju računaš neuron i kompartment plus sinapse, a u drugom samo sinapse, ako je u drugom slučaju sinapse 96 plus neuron i kompartment još 32 onda je to 128, u odnosu na 48 ~2,5x tj. 1/4, nije isto čekati render 4 sata ili 1 sat? :)


Cek da proverimo (plus, zaboravio sam jedan broj: indeks kompartmenta u neuronu), originalni slucaj:

1. Slucaj A: Sinapse kodiramo kao zasebne 3D float-ove: 3 x 32 bita = 96 bita

- Ukupno: 96 bita po sinapsi

^ Obrati paznju, 3D pozicija neurona/kompartmenta se ne racuna u ovom slucaju zato sto nam ona treba i ovako i onako za druge stvari i MORA biti u mrezi, ne mozemo da je eliminisemo

2. Slucaj B: Sinapse kodiramo kao:

- Indeks neuona (24 bita) + indeks kompartmenta u neuronu (8 bita) = 32 bita
- Relativnu 3D poziciju sinapse u odnosu na centar kompartmenta: 3 x 8 bita = 24 bita (kako bi znao kako da izvedes pune 3D koordinate)

- Ukupno: 56 bita po sinapsi

Znaci, usteda 1.71x, manje od 2x

ALI mogli bi da se posluzimo jos jednim trikom, posto ima vise sinapsi po kompartmentu mogli bi smo podatke da pakujemo kao [INDEKS NEURONA + KOMPARTMENTA = 32 BITA] [NIZ KOORDINATA SINAPSI 24 BITA] - i time ustedimo mnogo vece ustede ako je broj sinapsi veliki, a broj moze biti par desetina sinapsi na malim simulacijama, preko vise stotina ako hocemo da simuliramo neurone 1:1 sa brojem sinapsi.

Problem je sto u tom slucaju shader na grafickoj mora da radi malo drugacije, tj. da "otpakuje" sve sinapse u nizu pre crtanja kompartmenta (samo tad zna ko je "parent" sinapse radi rekonstrukcije 3D pozicije) , nije nemoguce ali IMHO ovo mi, onako, 'sac metodom' zvuci kao bar nekoliko dana full-time posla.
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
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
*.speed.planet.nl.



+7174 Profil

icon Re: SpikeFun - Artificial Nervous System Demo03.12.2018. u 14:30 - pre 65 meseci
Btw, preview is nove verzije, evo kako izgleda tabela "cene" pristupa stranoj NUMA memoriji.

Vrednosti su relativne (1.0 je najbrzi pristup), kada vidite da je pristup istom NUMA nodu malo veci od 1.0 (tipa 1.05), to je zato sto merenje nije savrseno, OS je mozda prekinuo proces interaptom i sl. Ali razlike izmedju stranih nodova su mnogo vece nego greske u merenju.

Matrica je [M][N] gde su M=N broj NUMA nodova a vrednosti su relativno "kostanje" pristupa memoriji u M nodu iz noda N (i obrnuto)

Sistem je Amazonova R5a masina sa 96 EPYC jezgara, kada vidite da pristup

Code:

1.055    1.417    1.358    2.415    2.365    2.161    
1.397    1.047    1.349    2.384    2.326    2.312    
1.342    1.358    1.012    2.161    2.324    2.265    
2.478    2.526    2.204    1.025    1.405    1.386    
2.382    2.375    2.310    1.408    1.006    1.346    
2.203    2.438    2.306    1.385    1.369    1.000    


Kao sto se vidi, na ovakvom sistemu su pristupi memoriji ponekad >vrlo< skupi ako se nalazite u dalekom NUMA nodu.

Sledeca verzija DC-a ce uzimati i ovo u obzir (uzimala je i ranije u smislu da je prvo procesirala lokalne podatke a onda strane, ali bez sortiranja stranih po vremenu pristupa).
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
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
*.adsl-surfen.hetnet.nl.



+7174 Profil

icon Re: SpikeFun - Artificial Nervous System Demo03.12.2018. u 21:17 - pre 65 meseci
Tragajuci za nekim performance bug-om koji kaci 4S (a mozda i 8S, ko zna) Haswell E7 Xeon-e (Amazon nudi x32 konfiguraciju sa 128 CPU-ova) sam ukapirao da Linux ima bolju podrsku za NUMA-u od Windows-a.

Naime, Linux ima libnuma-u koja ima sve korisne API-je, ukljucujuci i informacije o "ceni" pristupa sa noda na nod + vazno koliko fizicke memorije je zakaceno na koji NUMA nod. Zasto je ovo bitno? Pa da bi recimo znali kako da raspodelite niti tako da optimalan broj njih cita "stranu" memoriju (jako skupo) na procesorima koji nemaju dovoljno svoje da budu zauzeti 100% vremena.

Windows nema taj ekvivalent (nema ni ekvivalent "cene" pristupa iz noda X u noda Y i zvanican savet im je da parsirate ACPI tabelu (!!!).

Ili bar ja ne mogu da ga nadjem, a verujte mi da sam trazio detaljno :( Jedino priblizno sto postoji je neki Hyper-V performance counter sa kojim mogu da izracunam koliko fizickih stranica pripada kojem NUMA nodu i time dobijem otprilike RAM "sliku", ali to radi samo ako je masina pod Hyper-V hipervizorom... Jedini drugi nacin koji mi pada na pamet je da sam enumerisem hardver i provalim koji DRAM stick je prikacen na koji CPU kao sto rade oni hardverski programi poput HwInfo i sl.... ali to mi stvarno ne pada na pamet, plus sto niko ne garantuje da ce to da radi u buducnosti :(

Takodje, na tom Amazon sistemu je Windows prijavljena NUMA topologija (koji core-ovi pripadaju kojem nodu) potpuno drugacija od Linux topologije i imam jako cudne probleme sa performansama koji mi deluju kao da CPU-ovi pristupaju pogresnoj memoriji (stranoj, ne lokalnoj).

Sve u svemu, ako budem ikad pisao nesto novo ovakvog tipa, Linux (tj. cross-platform) ce biti glavna platforma.

Pretpostavljam da Microsoftova ekipa koja pise MS SQL server ima pristup gomili internih API-ja i u kernelu koji im daju sve sto treba.

[Ovu poruku je menjao Ivan Dimkovic dana 03.12.2018. u 22:29 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
 
Odgovor na temu

MajorFatal
Milija Jakic
opravljam oluke, 1337LAB
Bg

Član broj: 36595
Poruke: 1335
*.dynamic.isp.telekom.rs.



+559 Profil

icon Re: SpikeFun - Artificial Nervous System Demo05.12.2018. u 02:19 - pre 65 meseci
Citat:
Ivan Dimkovic:
Ali nije problem proceduralno generisati neuronsko "drvo" na GPU-u, sa slajderom ili konfiguracionom opcijom kako zelis da se grana (ima cak i jako lepih radova na tu temu kako proceduralno generisati realno izgledajuce neurone cak mislim da smo i diskutovali o tome ovde: http://www.elitesecurity.org/p3223987, doduse ne za GPU vec uopste ali portovati to na shader ne smatram problemom vec samo pitanjem programerskog vremena).


Pisao si o tome da se približavaju po performansama GPU i CPU, ne postoji varijanta da važnije delove i puteve odradiš kao i do sad, a onda ostatak prostora popuniš ovako proceduralno, ako su ljudi već isproveravali sve i ponaša se zadovoljavajuće?


Citat:

Razumeo sam ja tebe sta predlazes (bar mislim da jesam), ali mislim da je za veliki broj podataka radjenje eliminacije onoga sta ce biti vidjeno izuzetno ogroman posao sam po sebi, i bio bio radjen na CPU (nemas memoriju).


Valjda sam nekad negde pročitao da se "svodi" na proveru da li su dva objekta na istoj liniji pogleda?

Citat:

Generator mreze, simulator i vizualizator su tri razlicite komponente.

To sto generator generise pozicije sinapse relativno slucajno i proceduralno na onsnovu (relativo) nepreciznih MRI podataka i podataka iz literature o grananju neurona i gustine i tipa sinapsi ne znaci da u buducnosti to nece biti 100% tacno skenirana mreza.

Zbog toga neko proceduralno generisanje neurona u vizualizatoru nije smisleno, njegov posao je da tacno renderuje ono sto si mu poslao da renderuje, bez obzira na to kako je to nastalo.


Jasno ko dan, hvala, mada to će biti neka daleka budućnost al ajd...

Citat:

Smes da redukujes preciznost zato sto su sinapse relativno malo udaljene od centra "drveta" (reda velicine max 0.1 mm) pa mozes da prodjes sa nizom preciznosti zato sto kao referentnu tacku koristis centar njihovog "parent" drveta.


Sad mi opet nešto nije jasno, ovde pominješ centar "parent" drveta, a u jednom od narednih komentara centar kompartmenta u istom kontekstu - kao orijentir za poziciju sinapse?

Citat:

Sto brza simulacija modernih modela neurona, generator mreze i vizualizator su samo dodatne alatke za validaciju ovog prvog.


Hm, da si to hteo napravio bi nekoliko modela super brzih simulacija nekih neurona, piramidalnih, vretenastih itd i rekao bi super su, meni sve ovo deluje kao simulacija rada glavnog dela centralnog nervnog sistema - velikog mozga?

Citat:

Trenutno je jos jedna usteda ta da se smatra da su sinapse "nedaleko" od grane kompartmenta pa se ne kodiraju individualne pozicije sinapsi vec "samo" grana kompartmenta (grana) neurona, ali i to je i dalje jako puno podataka (jedan neuron ima i preko 200 kompartmenta ako simulacija radi u multi-compartment modu koji pravi realisticne neurone, u single-compartment modu su "neuroni" samo "tacke"). Ali zapravo najveci podatak su indeksi koji kazu sta treba da se crta (linija od tacke A do tacke B, itd.).


Zar nisu sinapse uvek na kraju kompartmenta, u tom slučaju tačka B je uvek ujedno i pozicija sinapse? Ako sinapse crtaš (pozicioniraš) relativno u odnosu na kompartment zar ne možeš isto tako kompartmente u odnosu na jezgro nervne ćelije, tj. kraj aksona tj...

Za kraj naravno najgluplje pitanje: ako postoje delovi mozga koji su ispunjeni short neuronima, pa u tom delu završi kraj nekog aksona i opali impuls, a ako ovi prenose signale kako je rečeno, zar ne bi trebalo efekat da bude da se signal prostire na sve strane radijalno, kao kad se raketa od vatrometa rasprsne na noćnom nebu? Pregledao sam par animacija koje si priložio i to nisam video?
Deluje da nedostaju i vijuge, znam da ne voliš frenologiju ali pametnije životinje - više vijuga po jedinici površine korteksa, navodno, ipak mu to dodju kao neke prepreke za prostiranje signala, ili bar kašnjenje?

Nemoj da pricas?
 
Odgovor na temu

MajorFatal
Milija Jakic
opravljam oluke, 1337LAB
Bg

Član broj: 36595
Poruke: 1335
*.dynamic.isp.telekom.rs.



+559 Profil

icon Re: SpikeFun - Artificial Nervous System Demo05.12.2018. u 03:31 - pre 65 meseci
Citat:
128, u odnosu na 48 ~2,5x tj. 1/4


Dobro je da niko nije primetio moju "preciznu" računicu, imam samo dve greške u istom redu, verovatno se potiru, znači da još uvek nisam zarđao :)

Citat:

Cek da proverimo (plus, zaboravio sam jedan broj: indeks kompartmenta u neuronu), originalni slucaj:

1. Slucaj A: Sinapse kodiramo kao zasebne 3D float-ove: 3 x 32 bita = 96 bita

- Ukupno: 96 bita po sinapsi

^ Obrati paznju, 3D pozicija neurona/kompartmenta se ne racuna u ovom slucaju zato sto nam ona treba i ovako i onako za druge stvari i MORA biti u mrezi, ne mozemo da je eliminisemo


Mora biti ali i zauzima prostor i trebalo bi da se renderuje, znači 96 + 32 = 128, ne možeš da je eliminišeš ni u "Slučaju B" pa je računaš?

Citat:

2. Slucaj B: Sinapse kodiramo kao:

- Indeks neuona (24 bita) + indeks kompartmenta u neuronu (8 bita) = 32 bita
- Relativnu 3D poziciju sinapse u odnosu na centar kompartmenta: 3 x 8 bita = 24 bita (kako bi znao kako da izvedes pune 3D koordinate)

- Ukupno: 56 bita po sinapsi

Znaci, usteda 1.71x, manje od 2x


Ovde pozicije sinapsi gledaš relativno u odnosu na centar kompartmenta, a par komentara iznad si u odnosu na centar njihovih "parent" drveta (može biti da misliš na isto, ali zbunjuje). Ako kompartmente iscrtavaš uvek istim redosledom za svaki pojedinačni neuron u odnosu na apsolutne koordinate (ose 3D prostora) a sinapse su uvek na kraju kompartmenta, i kompartmenti uvek približno iste dužine, možeš možda da završetak kompartmenta proglasiš za tačnu lokaciju sinapse, ili još brže da indekse kompartmenta direktno transformišeš u 3D koordinate sinapsi (po određenom pravilu i u opsegu ili obliku koji dozvoliš)? Tad bi lokacije sinapsi bile 32, u odnosu na 96 tri puta manje?

Citat:

ALI mogli bi da se posluzimo jos jednim trikom, posto ima vise sinapsi po kompartmentu mogli bi smo podatke da pakujemo kao [INDEKS NEURONA + KOMPARTMENTA = 32 BITA] [NIZ KOORDINATA SINAPSI 24 BITA] - i time ustedimo mnogo vece ustede ako je broj sinapsi veliki, a broj moze biti par desetina sinapsi na malim simulacijama, preko vise stotina ako hocemo da simuliramo neurone 1:1 sa brojem sinapsi.

Problem je sto u tom slucaju shader na grafickoj mora da radi malo drugacije, tj. da "otpakuje" sve sinapse u nizu pre crtanja kompartmenta (samo tad zna ko je "parent" sinapse radi rekonstrukcije 3D pozicije) , nije nemoguce ali IMHO ovo mi, onako, 'sac metodom' zvuci kao bar nekoliko dana full-time posla.


Pa ako može...



Nemoj da pricas?
 
Odgovor na temu

MajorFatal
Milija Jakic
opravljam oluke, 1337LAB
Bg

Član broj: 36595
Poruke: 1335
*.dynamic.isp.telekom.rs.



+559 Profil

icon Re: SpikeFun - Artificial Nervous System Demo05.12.2018. u 03:37 - pre 65 meseci
Citat:
128, u odnosu na 48 ~2,5x tj. 1/4


Dobro je da niko nije primetio moju "preciznu" računicu, imam samo dve greške u istom redu, verovatno se potiru, znači da još uvek nisam zarđao :)

Citat:

Cek da proverimo (plus, zaboravio sam jedan broj: indeks kompartmenta u neuronu), originalni slucaj:

1. Slucaj A: Sinapse kodiramo kao zasebne 3D float-ove: 3 x 32 bita = 96 bita

- Ukupno: 96 bita po sinapsi

^ Obrati paznju, 3D pozicija neurona/kompartmenta se ne racuna u ovom slucaju zato sto nam ona treba i ovako i onako za druge stvari i MORA biti u mrezi, ne mozemo da je eliminisemo


Mora biti ali i zauzima prostor i trebalo bi da se renderuje, znači 96 + 32 = 128, ne možeš da je eliminišeš ni u "Slučaju B" pa je računaš?

Citat:

2. Slucaj B: Sinapse kodiramo kao:

- Indeks neuona (24 bita) + indeks kompartmenta u neuronu (8 bita) = 32 bita
- Relativnu 3D poziciju sinapse u odnosu na centar kompartmenta: 3 x 8 bita = 24 bita (kako bi znao kako da izvedes pune 3D koordinate)

- Ukupno: 56 bita po sinapsi

Znaci, usteda 1.71x, manje od 2x


Ovde pozicije sinapsi gledaš relativno u odnosu na centar kompartmenta, a par komentara iznad si u odnosu na centar njihovih "parent" drveta (može biti da misliš na isto, ali zbunjuje). Ako kompartmente iscrtavaš uvek istim redosledom za svaki pojedinačni neuron u odnosu na apsolutne koordinate (ose 3D prostora) a sinapse su uvek na kraju kompartmenta, i kompartmenti uvek približno iste dužine, možeš možda da završetak kompartmenta proglasiš za tačnu lokaciju sinapse, ili još brže da indekse kompartmenta direktno transformišeš u 3D koordinate sinapsi (po određenom pravilu i u opsegu ili obliku koji dozvoliš)? Tad bi lokacije sinapsi bile 32, u odnosu na 96 tri puta manje?

Citat:

ALI mogli bi da se posluzimo jos jednim trikom, posto ima vise sinapsi po kompartmentu mogli bi smo podatke da pakujemo kao [INDEKS NEURONA + KOMPARTMENTA = 32 BITA] [NIZ KOORDINATA SINAPSI 24 BITA] - i time ustedimo mnogo vece ustede ako je broj sinapsi veliki, a broj moze biti par desetina sinapsi na malim simulacijama, preko vise stotina ako hocemo da simuliramo neurone 1:1 sa brojem sinapsi.

Problem je sto u tom slucaju shader na grafickoj mora da radi malo drugacije, tj. da "otpakuje" sve sinapse u nizu pre crtanja kompartmenta (samo tad zna ko je "parent" sinapse radi rekonstrukcije 3D pozicije) , nije nemoguce ali IMHO ovo mi, onako, 'sac metodom' zvuci kao bar nekoliko dana full-time posla.


Pa ako može...



Nemoj da pricas?
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
*.adsl-surfen.hetnet.nl.



+7174 Profil

icon Re: SpikeFun - Artificial Nervous System Demo09.12.2018. u 01:21 - pre 65 meseci
Evo mali preview kako nova verzija radi i na cloud sistmima:

http://www.digicortex.net/node/20

Kao sto se vidi, performanse drasticno variraju cak i kad je arhitektura / broj alociranih vCPU-ova isti. Razlog je verovatno u drugacijim hardverskim topologijama pravog (hipervizora) sistema i nacin na koji hipervizor onda deli fizicki hardver. Amazonove Skylake VM performanse sa 96 jezgara su mozda najblize "bare metalu" sto mozete imati.

Google je ocajan, mada verujem da je njihov cilj sasvim drugi - optimizacija za mikro servere koji nisu toliko osetljivi na latenciju memorije i broj hop-ova koje ce CPU morati izvesti da dodje do podataka, nego zakupis gomilu single-CPU mini servercica i svaki vrti neki mikro servisic i to je to.

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
Prikačeni fajlovi
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
*.speed.planet.nl.



+7174 Profil

icon Re: SpikeFun - Artificial Nervous System Demo09.12.2018. u 19:14 - pre 65 meseci
I evo v1.33 verzije, bye bye 32-bit :-)

http://www.digicortex.net/node/7

Download: http://www.digicortex.net/distrib/SpikeFun_Latest.exe

Code:


v1.33 - Released on December 8th 2018
------------------------------------------------------------------------

  * Added new server benchmark for HEDT/Workstations and large servers
    (spikebenchmark_v104_ws_server.bat, using Demo1mBench.xml)

  * Please note that the output CSV format of the benchmark tool has
    been updated (description of the columns will be in the first
    row of the CSV file)

  * Minimum OS is now Windows 7 x64 / Windows Server 2008 R2 x64
    Windows XP and Windows Vista support has been deprecated as well
    as support for 32-bit Operating Systems  

  * Improved CPU work scheduling algorithm, taking into account the
    NUMA systems with more than two nodes where access cost between the
    nodes might not be identical. At the beginning of every DigiCortex 
    simulation, a small benchmark (taking few seconds) will be performed
    to measure relative NUMA to NUMA node memory access cost.
    
    This change impacts only NUMA systems with e.g. different routing
    costs between CPU X and CPU Y
    
  * CPU work scheduling has been improved to take into account 
    CPU cache hierarchies more when performing work stealing


Btw, ko ima jaku makinu moze da pokrene spikebenchmark_v104_ws_server.bat i podeli rezultate (spikebenchmark_bench_results.txt), posebno bi mi bili zanimljivi 1S sistemi sa puno jezgara kao sto su AMD Threadripper ili Intelova nova HEDT ponuda.


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
 
Odgovor na temu

[es] :: Veštačka inteligencija :: SpikeFun - Artificial Nervous System Demo
(TOP topic, by Gojko Vujovic)
Strane: << < .. 15 16 17 18 19 20 21 22 23

[ Pregleda: 133215 | Odgovora: 455 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.