AI-koodausavustimet, keskustelua AI-avustetusta koodaamisesta/skriptaamisesta/dokumentoinnista/...

Tuo on oikeasti hyvä tilanne. Voipi tehdä vaikka kaikenlaista mahdollisesti hyödyttävää työtä siivoamisesta tulevaisuusjuttuihin. Yksi mikä vois olla kiinnostava niin kokeilla tehdä Mojo:lla kiihdytykset cudan sijaan. Aika mielenkiintoinen häkkyrä ja pääsee nvidian ikeestä pois. Toki toimii hyvin nvidiallakin. Mulla ollut mielenpäällä että vois mojolla olla kiva kokeilla jotain demoefektityylisiä kerneleitä jotka kiihdyttyis ... valtavasti ...

Mojon taustalla chris lattner joka ei liene tarvi esittelyjä(llvm, clang, swift,...) :) Mojossa ideana tehdä pythonin näköisellä erittäin hyvin rinnakkaistuvaa koodia mitä voi ajella cpu(simd,avx,...)/gpu/... kiihdyttimillä

No siis mulla on ihan sama tarkoitus, mutta Mojon sijasta käytössä on ILGPU. Eli C#:llä kirjoitetaan kernelit ja ILGPU sitten kääntää ne ajon aikana natiiviksi koodiksi. Ihan vain siksi että olisi helpompi ylläpitää ja optimoida eikä tarvitsisi liimailla C++:lla kirjoitettuja C-kirjastoja C#-ohjelmaan.

Tosin voisi se nyt olla Mojokin kun ollaan AI-aikakaudella. Ne syyt miksi halusin pois natiivista CUDA- ja C-koodista eivät enää päde :D
 
Koodaus alkaa olla ratkaistu ongelma. Tämänhetkiset tulokset ennen kuin laitan yöksi jauhamaan:

ScenarioPortable encode-onlynvJPEG encode-onlyDifference
Mono rst16 parallel0.566 ms0.335 ms 1.69x slower
4:4:4 rst16 parallel1.250 ms0.441 ms2.83x slower
4:2:0 rst16 parallel0.777 ms0.462 ms1.68x slower
Planar 4:2:0 rst16 parallel0.757 ms0.462 ms1.64x slower
 
Olen nyt koodannut samaan aikaan omaa peliprojektia.
Jokin aika sitten kaivoin vanhan peliprojektini esiin, olin viikkoja optimoinut sitä ja FPS oli ~300, pari promptia ja oltiin tuhannessa hienompien efektien kera. Tuli jotenkin masentunut fiilis siitä, osaanko enää mitää paremmin kuin nämä mallit? Voisikin nyt laittaa 5.5 jauhamaan sitä, kun tässä ei muutakaan käyttöä keksi.
 
Viimeöinen JPEG-optimointi oli sitten kosahtanut blue screeniin. Grayscale menee jo 1,1x vauhtia, värikuvat vielä 1,5x nopeudessa.
CUDA:han kääntyy ptx-assembleriin. Osa taloistahan optimoi nvidialle suoraan assylla kun sen kautta voi tehdä kikkoja mitä varsinainen cuda kääntäjä korkeamman tason kielestä ei tee. AI vois kokeilla analysoida assyt(jos et tee jo näin) ja antaa AI:n kirjoittaa parempaa koodia hot looppeihin. Voi olla hauska harjoitus jos on tokeneita mitä poltella pois.
 
CUDA:han kääntyy ptx-assembleriin. Osa taloistahan optimoi nvidialle suoraan assylla kun sen kautta voi tehdä kikkoja mitä varsinainen cuda kääntäjä korkeamman tason kielestä ei tee. AI vois kokeilla analysoida assyt(jos et tee jo näin) ja antaa AI:n kirjoittaa parempaa koodia hot looppeihin. Voi olla hauska harjoitus jos on tokeneita mitä poltella pois.
Hyvä idea tämäkin. ILGPU kääntää koodin, ja annoin AI:lle tehtäväksi auditoida sen lähdekoodit ja sitä kautta etsiä voisiko koodi olla tehokkaampaa tai voisiko tuottaa tehokkaampaa koodia. Mitään kriittistä ei löytynyt, mutta ILGPU:n auditoinut AI antoi vinkkejä JPEG-koodin optimointiin ja sitä kautta löytyi tuloksia. Nyt joissain tapauksissa ollaan nopeampi kuin NVidian kirjasto.

Koodi:
Yes, faster cases from this run:

1920x240 mono:

nvJPEG: 0.183 ms
portable mono-rst16-current: 0.107 ms
ratio 0.58x, so portable is about 1.7x faster.


1920x240 planar 4:4:4:

nvJPEG: 0.281 ms
portable best/current rows around 0.225-0.239 ms
ratio around 0.80x-0.85x, so portable is faster.


1280x720 mono:

nvJPEG: 0.207 ms
portable best current row: 0.169 ms
ratio 0.82x, so portable is faster.


Where nvJPEG still wins:

1920x1080 mono:

nvJPEG: 0.278 ms
portable rst16-current: 0.316 ms
ratio 1.14x, close but still slower.


1920x1080 planar 4:4:4:

nvJPEG: 0.445 ms
portable current best around 0.703 ms
ratio 1.58x, still meaningfully slower.
 
Hyvä idea tämäkin. ILGPU kääntää koodin, ja annoin AI:lle tehtäväksi auditoida sen lähdekoodit ja sitä kautta etsiä voisiko koodi olla tehokkaampaa tai voisiko tuottaa tehokkaampaa koodia.
Ehkä agentin vois saada mcp-serverin avulla suht järkevällä vaivalla profiloimaan koodia ja sitäkautta lisää paikkoja mitä voisi optimoida. Yksi vaihtoehto:
MCP server for GPU profiling with NVIDIA Nsight Systems (nsys). Requires NVIDIA Nsight Systems installed and available in PATH. Python 3.10+ is also required.

Amigakoodeissa oli tosi hyödyllistä teettää assemblerilla microbenchmarkkeja. AI paljon ennemmin uskoi/oppi miten optimoida benchmarkkien kuin esim. käskykannan manuskan+kellojaksojen pohjalta.
 
Ehkä agentin vois saada mcp-serverin avulla suht järkevällä vaivalla profiloimaan koodia ja sitäkautta lisää paikkoja mitä voisi optimoida. Yksi vaihtoehto:


Amigakoodeissa oli tosi hyödyllistä teettää assemblerilla microbenchmarkkeja. AI paljon ennemmin uskoi/oppi miten optimoida benchmarkkien kuin esim. käskykannan manuskan+kellojaksojen pohjalta.
Koitin asentaa mutta tuli 404. Mutta mitäpä tuolla tekisi.

Koodi:
Size        Mode                nvJPEG    Portable    Ratio
1920x240    mono auto            0.244    0.149        0.61x
1280x720    mono auto            0.912    0.233        0.26x
1920x1080    mono auto            0.396    0.402        1.02x
1920x240    planar 4:4:4 auto    0.842    0.245        0.29x
1280x720    planar 4:4:4 auto    0.440    0.717        1.63x
1920x1080    planar 4:4:4 auto    1.004    0.971        0.97x

Jostain syystä 1280x720 värikuva on hidas. Ehkä joku potikka mennyt väärään asentoon. AI saa tutkia.

Pari juttua tulee mieleen. Ensinnäkin, valmiskoodin markkina-arvo on täysin romahtanut. Ja toisekseen, myös lähdekoodin arvo on romahtanut. Sillä on edelleen käyttöarvo, mutta aion kirjoituttaa toteutuksesta jonkinlaisen planin tai vastaavan, jonka perusteella AI voi myöhempinä vuosina rekonstruktoida koodin uudelleen.
 
Koitin asentaa mutta tuli 404. Mutta mitäpä tuolla tekisi.
Löytää missä pullonkaula ja onko utilisaatio oikeasti lähellä 100%. GPU:t aika monimutkaisia härpättimiä jos haluaa maksimitehot ulos. AI jos saa loopattua konkreettinen mittaus mihin aika menee, katsoo koodit mukaanlukien assyn ja korjaa pullonkaulan arkkitehtuuri/koodioptimoinnilla niin toimii paremmin kuin jos on vähemmän tietoa käytössä.

Toki jpeg kuormana ei haastavammasta päästä, konesalitasolla allaolevassa lainauksessa. Aika paljon suorituskyky lisääntyy pelkillä softaoptimoinneilla vuodesta toiseen. Toisessa ääripäässä kiinalaiset optimoi deepseekkiä varten ptx-assyllle ison osan koodeistansa. Kuulemma piilaaksossa tekevät samaa vaikka eivät asiaa mainosta.

xAI’s GPU fleet is running at about 11% utilization, exposing how hard it is for AI labs to fully use expensive Nvidia hardware.
Certain companies go all-in on their software stack and are able to get utilization rates exceeding 40%, beyond the typical 35-45% rate. Meta and Google are such examples where the utilization rate is up to 43% and 46%, respectively.

Pari juttua tulee mieleen. Ensinnäkin, valmiskoodin markkina-arvo on täysin romahtanut. Ja toisekseen, myös lähdekoodin arvo on romahtanut. Sillä on edelleen käyttöarvo, mutta aion kirjoituttaa toteutuksesta jonkinlaisen planin tai vastaavan, jonka perusteella AI voi myöhempinä vuosina rekonstruktoida koodin uudelleen.
Joutuu aika moni firma menemään samaan malliin kuin miten open sourcella tehdään rahaa. Siinä kohtaa kun AI korvaa devops/tuki/security/... porukan ja ylläpito liki ilmaista agenttuen avulla niin palvelumallillakin rahastaminen alkaa muuttumaan haastavaksi.

Oracle, Sap yms. varmaan ekana ongelmissa. Kukaan osta niiden kötöstyksiä kun halvemmalla voi tehdä paremman firmakohtaisen ja kustomoidun. Todnak. palasetkin open sourcessa kun miksipä niitä koodeja piilottelemaan enää nykymaailmassa: https://www.forbes.com/sites/donmuir/2026/02/04/300-billion-evaporated-the-saaspocalypse-has-begun/
 

Statistiikka

Viestiketjuista
306 532
Viestejä
5 188 831
Jäsenet
82 908
Uusin jäsen
Timos80

Hinta.fi

Back
Ylös Bottom