| Kirjoittaja |
Viesti |
   
Jani Kuituniemi
Käyttäjätunnus: janik
Rekisteröity: 10-2009
| | Keskiviikkona, 27. toukokuuta, 2026 - klo 9.50: | | Sattuipa olemaan muutama tunti vapaata aika tuossa ja kun kielimallien (LLM) ajaminen, erityisesti lokaalisti, on uusin villitys niin mielessä kyti ajatus; mahtaisiko tuollainen temppu onnistua myös wanhalla Amigalla? Löysin sattumalta Andrej Karpathyn projektin 'llama2.c' joka näytti sopivalta kohteelta porttausta ajatellen. Aika pienellä työlllä tuon loppujen lopuksi sai sellaiseen muotoon, joka kääntyy myös Amigalla iki-vihreällä GCC 2.95.x versiolla. Lisäsin siihen myös endian-hallinnan, koska nuo kielimallithan on oletuksena nykyään little-endian muodossa, joten latauksen yhteydessä ne pitää kääntää 680x0:lle sopivaan big-endian muotoon. Lopputuloksena tälläinen tuotos: https://github.com/jkuituni/Schnecke_LLM Mitään järkeähän tässä ei ollut, mutta toisaalta, miksipä ei? 
|
   
itix Käyttäjätunnus: itix
Rekisteröity: 6-2009
| | Maanantaina, 1. kesäkuuta, 2026 - klo 23.57: | | Siitä ei saa millään nopeata. Nopeammaksi kyllä, mutta on ihan hyvät syyt miksi noita ajetaan näytönohjaimilla...
|
   
Jani Kuituniemi
Käyttäjätunnus: janik
Rekisteröity: 10-2009
| | Tiistaina, 2. kesäkuuta, 2026 - klo 8.51: | | Juu, ilman muuta. Optimoinnin varaa tuolla koodissa kyllä on ihan kohtuullisesti, erityisesti jos haluaisi esimerkiksi rajoittautua Q8 kielimalleihin. Voisi vaikkapa osan laskennasta tehdä integereinä ja vielä niin, että saisi GCC:n generoimaan koodin niin, että voisi hyödyntää molempia 060:n ALU:ja rinnakkain, mutta ei siitä saa ikinä mitenkään käytettävän nopeaa edes noilla minimalistisen kokoisilla kielimalleilla. Ja tuossa sitten menetettäisiin äkkiä portattavuutta ja yhteensopivuutta eri kielimallien kanssa, joten en lähtenyt siihen. Toisaalta, ei kai kukaan odottanutkaan, että tämä pyörisi salamannopeasti.. Tämä oli/on puhtaasti oppimis-projekti siitä, miten kielimallien ajaminen oikeastaan toimii pellin alla ja sellainen "just because" PoC aiheesta. Projektin nimikin on juuri siksi tuollainen kuin se on 
|
   
itix Käyttäjätunnus: itix
Rekisteröity: 6-2009
| | Tiistaina, 2. kesäkuuta, 2026 - klo 12.55: | | Tuota lähdekoodia tuli katsottua aiemmin mielenkiinnosta ja vähän työn puoilesta. Tuolla on esimerkiksi matmul() joka näyttäisi olevan n*m ja pelkkää kertolaskua, ja 060 CPU:ssa on vain yksi kertolaskuyksikkö. Isompi rajoite lienee kuitenkin muistikaista. Vaikka CPU:ssa riittäisi potku niin muistiväylä on kapea. Ehkä mitä yrittäisin niin koittaa muokata algoritmeja niin että ne käyttävät L1 cachea mahdollisimman tarkkaan. Se miten sen tekee onkin vaikeampi juttu... 
|
|