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.