https://icl.utk.edu/~luszczek/teaching/courses/fall2013/cosc530/CS530Project_cell.pdf
Pak lze najít na konkurenčním webu živě, ale nevěnuje se tomu tolik pozornosti.
Prostě ve zkratce.... složil si několik teoretických CPU do jednoho a jak už víme u ATI 6990 s dvěma jádry, tak sice teoretický výkon máš, ale napsat na to je už oříšek. Kord, když velkou část nenesl OS ani výrobce, ale právě ten nebožtík co na to programoval...
Ty SPE jsou obycejna orezana "cpu" jadra ktere v dnesni dobe jsou ekvivalentem jadrum v akceleratorech aka unified shaders, na kterych bezi kod na gpu. Je tam nejaky SIMD a hromadka lokalni pameti a synchronizacni primitiva (mailbox), ktere se nachazi ve vsech rozumnych mutlicore resenich (i to RPi pico mcu to ma).
Stejne funguji moderni SOCy ktere maji GPU cast a unifikovanou / sdilenou RAM pamet s hlavnim procesorem.
Neni tam zadny jiny magicky pristup, takze nevim kde vidis neco zazracneho co je nutno dnes extra vysvetlovat a popisovat.
I ten odkazovany dokument vysvetluje potize s programovanim jen tim, ze SPE je in-order a bez cache - tomu nepomuze ani svecena voda (vzpomente si na inorder atomy.. a ty meli alespon tu cache).
Ja v tom vidim primitivni GPGPU reseni, ze tady mate architekturu a posluzte si. I to gpgpu funguje pohodlneji kdyz mate neco jako CUDA od vyrobce a nemusite si psat shadery v asm :-)
Ono jakekoliv atypicky DSP / SIMD jadro / manycore architektura se blbe programuje, kdyz uzivatel ocekava ze jeho sranda-kod pojede okamzite optimalne - vetsina dodavatelu ani neumoznovala low level / nativni kod, ale dodavali jenom akceleracni libku s nejcasteji pouzivanymi funkcemi, ktere napsal nekdo v assembleru.
Programovat se to asi bude blbe, pomoci stavajicich nastroju navrzenych pro 1/0. kdyz porovnam digitalni (1/0) vs. analogovy tak intuitivne citim, ze to bude vykonostne velka zmena. Porad cekam kdy ty digitalni technologie (0/1) neco nahradi, a tohle analogove, nebo jsem taky v minulosti slysel pokusy s DNA vypocty jsou podle me cesta. Kam to si netroufam rict...
Pokud jde jenom o násobení matice vektorem (jak říká zprávička), tak o žádné velké programování přece nejde - do nějakého API pošleš matici a vektor a vrátí se výsledek. Nemyslím, že bys musel řešit nějaké meziúrovně signálu - strčíš tam čísla a vrátí se čísla. Samozřejmě v digitální podobě. Nebo myslíš, že jde o ještě něco jiného?
Pokud to ma co docineni s AI, tak jde IMO primarne o to, ze vzajemne interakce prirodnich neuronu nejsou digitalni. Neni to ano nebo ne.
A to je neco, co v digitalnim HW neudelas. Udelas to(priblizne) SW cestou, ale to je radove pomalejsi, nez kdyz by to umel primo HW.
O programovani v tomto pripade IMO nejde vubec. Ostatne, ani u tech digitalnich simulaci nikdo neumi vysvetlit, proc a jak to vlastne funguje ;D. Coz je mozna dano tim, ze jen malo kdo je ochoten pripustit, ze nejsme nicim vyjimecnym a ze naopak, jde o prirodni zakonitost.
Mravenec sam o sobe taky mraveniste nepostavi, nema predstavu jak by melo vypadat ... a kdyby tech mravencu v tom mravenisti bylo o par radu vic nez bezne je. zvladnou let na Mesic. A prave toto malo kdo pripusti.
No on ten (biologický) analogový neuron je o pěkných pár řádů pomalejší než ten SW z křemíku, spíš jde o to, že biologický žere méně a je plně zparalelizovaný.
Navíc ona nepřesnost digitálu není zase tak jednoduchá, vono kdokoli kdo dělal s jakýmkoli analogem, tak ví dobře, co to je šum, většinou projev Nyquistova kritéria objevil prakticky než se o něm začal učit, šum/brum/přeslechy taky dokáží pokazit náladu apod.