Kera | Deterministic Systems Language and Compiler
Dweve Kera is a graph-native systems language and compiler for deterministic computation across heterogeneous hardware, with content-addressed .keg graphs.
Kodeerimisagent ja operaatori abiline. Demomeetrika on illustreeriv.
Terminal, otsing, lint, test, git ja palju muud.
Mäletab sinu koodibaasi ja meeskonna konteksti.
Spetsialiseeritud agendid teevad koostööd eri valdkondade vahel.
Poliitikad, kontrollid ja testid käivitatakse alati.
Vaata diffe, nõua muudatusi, lõplik heakskiit.
Esita iga seanss biti-biti haaval, kui midagi vajab ülevaatamist.
Autonoomsed agendid, mis kirjutavad koodi ja peavad arvet
käsitlemaks võrgu ajalõppe, 5xx vastuseid ja idempotentseid tingimusi. Puhas abifunktsioon, täielikult unit-testitud.
Algoritmide rühmitamine andmetüübi järgi
ühe muudetud sõlme ümbervõtmine mõjutab ainult selle mõjutatud esivanemaid
tagasihoidlikud ühekohalised kasvud mõnel bitipõhisel teel
selged keskmised kasvud liitmiste ja aktiveerimiste puhul
tugevad suured kasvud mitmel maatriksi- ja vektoriteel
võrdsuse lahtrid jäävad vaatevälja, neid ei kustutata
mis saab võimalikuks, kui tähendus säilib
maatrikskorrutis siseneb kümne teadaoleva faktiga
iga tavapärane alandamise etapp laseb mitu kaarti välja
Core Native töötab Rust-natiivsel täitmisel
Core Kera peal avab graafi ja kompilaatori kihid
natiivne rada ei ole tehtud katkisena näima
seemnestatud annab ühe räsi seemne kohta
graaf on partitsioneeritud nelja sõlme vahel
üks sõlm ebaõnnestub ja taastub kontrollpunktist
deklareerimata võrguserv blokeeritakse planeerimise ajal
pind kinnitatakse enne selle käivitamist
igal piiril on selged võimalused ja operaatori juhtelemendid
Hallatavas Fabricus puudub otsene Kera juurdepääs
Sama semantiline graaf väljastatakse teie valitud piiri sees.
toores graaf käivitab iga läbimise eraldi
kolm vaheühendit eemaldatud, kaks piirkonda liidetud, üks väärtus seadmes hoitud
säästuriba loendab käivitamisi, eraldisi, ülekandeid ja eemaldatud baite
igal tornil on avaldatud koos testimiskeskkonnaga pitser, puuduvad väljamõeldud riistvara
avatud kaasprojektid asuvad väljaspool äripiiri
tavaline rada kopeerib üle kuue mäluruumi
atribuudid kanduvad edasi ainult selle raja kaudu, mis on tegelikult litsentsitud
tunnetus, organisatsioonid, teadmised, arvutus
AI-operatsioonid, treenimine, inferents, serveerimine
graaf, planeerija, otsene väljastus, käitusaeg
ülesande kohta ei lähe teel midagi kaotsi
masin saab töö, mis on selle jaoks vormitud
sama töökaart on kohandatud erineva plaaniga igale
suveräänsus sõltub täielikust seadistusest, mitte ainult geograafiast
kasutaja näeb ülal kokkulepitud Fabrici võimekust
haldatud Fabric avalikul Dweve Mesh-il; puudub otsene Kera juurdepääs
Fabric avalikul Mesh-il oma lepingulises töötluspiiris
mõned sammud töötavad palju kiiremini kui tavaline tee
mõned juhtumid on praegu kiiruselt sarnased
üks ülesanne kulgeb pika siksakina läbi tõlkekastide
Kera marsruut jääb üheks selgeks plaaniks tööst masinani
salvestatud on see, milline masinaplaan valiti
pakkide liikumine läbi seitsme ruumi tavapärasel viisil
võrguühenduseta süsteem võib keelduda võrguühendusest
salvestab tulemusi, mida ta võib säilitada
väline riistvara ja operatsioonisüsteemid asuvad servas
inimeste vahel edasi antud retsept kaotab oma eesmärgi
köök saab siiski teha mõistlikke valikuid
mitte üldine versioon, mis on lõpus parandatud
ei mingit mustanditööd, mida kasutatakse üks kord
range ülesanne annab iga kord sama mustri
seemendatud ülesanne kordab ühte variatsiooni
loov ülesanne võimaldab erinevaid mustreid
juhuslikku muutust teisel masinal ei toimu
rakenduse pind jääb sõbralikuks ja lihtsaks
lõige paljastab Kera plaani ja masinatöö allpool
oranžid lahtrid tähistavad mõõdetud võite
kontuuriga lahtrid tähistavad ootel analüüsi
kontrolli, millised faktid erinevuse põhjustasid
teadmata paketi lahtrid jäävad välja toodud kuni pakendamine on lõplik
Core'i operatsiooni sõlm siseneb Kera plaani
planeerimine, liitmine ja alandamine järgnevad
kui Kera puudub, jääb Core Rust'i-põhiseks
range parandab aritmeetika ja järjestuse
seemnega korratakse varieerumist seemne kaupa
loominguline võimaldab kavandatud varieerumist
LLVM-rada lihtsalt puudub, mitte teatraalselt läbi kriipsutatud
Keskel pole LLVM IR-i etappi. Iga samm hoiab graafi ja operatsiooni semantika kättesaadavana.
valitud tee kirjutatakse täitmisprotokolli
deklareerimata võime lükatakse kontrollija poolt tagasi
eraldi piirkonnad materialiseeritud vahetulemustega
üks piirkond, väärtused säilitatakse lokaalselt
graafik säilitatakse kõigis hilisemates etappides
iga latt kannab täpset testiulatusega kiipi, pole väljamõeldud riistvara
tulemused erinevad riistvarati, avaldatud koos rakisega
iga emiteerimine kasutab erinevat vektorilaiust
uued räsid levivad ainult mõjutatud esivanemate kaudu
muutmata alamgraafid säilitavad oma identiteedi
tõend liigub hosti, seadme ja kaugruumi vahel
planeerija hoiab väärtust seal, kuhu see kuulub
üldised elutsüklid ilma operatsioonikontekstita
elutsüklid, mida kujundab graafikontekst
lahtirullimine, vektori laius ja mahavalgunud valikud operatsioonist
iga sihtmärk kannab oma väljastatud artefakti
kontrolli, ehita, inspekteeri, planeeri, käivita, kontrolli
graafikute inspektor näitab tüüpe ja mõjusid
väljamõeldud benchmark-väljundit ei kuvata
määrab puhvrite suuruse ja vektorilaiuse
ühine põhjus on säilitatud semantiline info
Kera hoiab operatsioonid, efektid, omandiõiguse ja liikumise nähtavana alates lähtegraafikust kuni sihtkäivituseni. Loe arhitektuurist, vaata graafiku IR-i või too meile tootmistee, mis on juba LLVM-i kaudu optimeeritud.
Otsene arvutus. Graafik jääb programmiks.
Ringallreduce, kontrollpunkti taastamine
x86-64 (SSE2/AVX2/AVX-512), ARM64 (NEON), RISC-V (Vector)
Kera on staatiliselt tüpiseeritud süsteemikeel, millel on graafikupõhine, sisupõhine IR. See kompileerib programmid .keg-failideks, operatsioonide suunatud atsüklilisteks graafikuteks, ja käivitab need CPU-l, GPU-l, FPGA-l ja WASM-il. Kera kasutab kohandatud koodigeneraatorit x86-64, ARM64 ja RISC-V jaoks, mitte LLVM-i, koos registrijaotusega ja SIMD kernelite valikuga. Kõrvalefektid on jälgitud ja Rust-stiilis omandiõigus hõlmab host-, seadme-, pinnitud ja ühtset mälu. Projekt on Rust-i tööruum, millel on hajutatud käivitus, võimepõhine turvalisus ja LSP-tööriistad.
Too operatsioon, kujud, sihtmärk, lipud ja determinisminõuded, mida tootmises kasutad. Me võrdleme genereeritud teed ja näitame, kus graafiku säilitamine muudab tulemust.
Üks graafik. Käivitus planeeritud sihtmärgile.
Kera ühendab graafikupõhise süsteemikeele, sisupõhise IR-i, kompilaatori, JIT-i ja heterogeense käivitussüsteemi. See hoiab tüübid, efektid, omandiõiguse, andmevoo, mäluruumid ja käivituspoliitika nähtavana, koostades samal ajal sihtmärgipõhiseid plaane toetatud CPU-, GPU-, FPGA- ja WebAssembly-teedele. LLVM ei ole kompileerimisahela keskmes.
Kera on litsentseeritud juurutuste jaoks eraldi hinnastatud. Räägi meile sihtmärgiportfellist, isoleeritud tööst ja eraldi valitud lähte-, ülevaatus- või tehnosiirdeõigustest.
Arvutus säilitab oma identiteedi masinani.
Natiivne masinkood kohandatud JIT-kompilaatori kaudu
Dweve AI-inferentsi ja simulatsiooni töökoormused
Programmeerimiskeel järjepidevaks ja kiireks arvutamiseks
Tarkvara läbib sageli nii palju tõlkekihte, et arvuti ei näe enam tööd tervikuna. Kera hoiab arvutuse organiseerituna ühe graafikuna ja koostab seejärel käivitusplaani tööd tegevale masinale. See võib eemaldada tarbetud sammud, vähendada liikumist ja jätta selgema rekordi sellest, mis tegelikult käivitati.
Dweve Kera on graafipõhine süsteemikeel ja kompilaator deterministlikuks arvutamiseks heterogeensel riistvaral. Selle staatiliselt tüpiseeritud, sisupõhine vaheesitus hoiab operatsiooni nähtavana kogu planeerimise vältel ning genereerib seejärel käivitatava koodi CPU-le, GPU-le, FPGA-le ja WebAssembly-le. Graaf jääb programmiks.
Üldotstarbeline kompilaator peab teenindama igasugust tarkvara. Selle laius piirab, kui sügavalt suudab see mõista spetsialiseeritud operatsiooni, kui esiots on selle taandanud tsükliteks, osutiteks ja üldiseks aritmeetikaks, ning ükski hilisem etapp ei suuda taastada seda, mida see taandamine eemaldas.
Operatsiooni identiteet, algoritmid, pakkimise kavatsus, oodatud kujud, determinism ja mälu omand võivad enne lõplikku optimeerimist hajuda eri tööriistadesse. Hind on iga kasulik valik, mis muutub võimatuks pärast seda, kui arvutus unustab, mis ta oli.
Maatrikskorrutis muutub anonüümseteks tsükliteks.
Oodatud tensorite ja vektorite kujud kaovad.
Akumulaatori ja pakkimise kavatsus on kadunud.
Host- ja seadmemälu reeglid langevad ära.
Kera hoiab need faktid operatsiooni küljes.
Kera esitab arvutuse tüpiseeritud graafina. Operatsioon jääb operatsiooniks, selle asemel et muutuda liiga vara anonüümseks madala taseme koodiks. Selle sisendid, väljundid, kujud, efektid, omand, mäluruumid ja käivituspoliitika jäävad selle külge.
Säilitatud kontekst võimaldab Keral valida operatsiooni enda põhjal, liita seotud tööd üle graafi ja planeerida liikumist deklareeritud omandist. Üldine ahel peab need faktid tuletama madala taseme mustritest pärast nende kadumist, mistõttu sama lähtekood võib kompileeruda väga erinevaks masinakäitumiseks, olenevalt sellest, kui palju tähendust teekonnal säilis.