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.

Asistencia pri kódovaní a prevádzke agentov. Ukazovatele sú len ilustračné.

Terminál, vyhľadávanie, lint, testy, git a ďalšie.

Pamätá si vašu kódovú základňu a kontext tímu.

Špecializovaní agenti spolupracujú naprieč oblasťami.

Každý krok je zaznamenaný s časovými pečiatkami.

Pravidlá, kontroly a testy sa vždy spúšťajú.

Skontrolujte diffy, požiadajte o zmeny, finálny súhlas.

Prehrajte ľubovoľnú reláciu bit po bite, keď treba niečo skontrolovať.

Prečítať retry.ts, vystopovať chybu s timeoutom

Autonómni agenti, ktorí píšu kód a vedú záznamy

na spracovanie sieťových timeoutov, odpovedí 5xx a idempotentne bezpečných podmienok. Čistá pomocná funkcia, plne pokrytá testami.

zmenený uzol prekľúčuje iba svoj ovplyvnený predkovia

mierne jednociferné zisky na niektorých bitových cestách

jasné stredné zisky pri sčítaniach a aktiváciách

silné veľké zisky na niekoľkých maticových a vektorových cestách

bunky parity zostávajú na úrovni, nie sú odstránené

maticové násobenie vstupuje s desiatimi známymi faktami

každá konvenčná fáza zníženia zahodí niekoľko kariet

slučky, ukazovatele, aritmetika zostávajú

Core Native beží na Rust-natívnom vykonávaní

Core na Kera odhaľuje vrstvy grafu a kompilátora

natívna dráha nie je navrhnutá tak, aby vyzerala rozbitá

jeden uzol zlyhá a obnoví sa z kontrolného bodu

nedeklarovaná sieťová hrana je zablokovaná počas plánovania

Hranica služby prevádzkovaná spoločnosťou Dweve

každá hranica nesie explicitné schopnosti a ovládacie prvky operátora

Žiadny priamy prístup k Kera v spravovanom Fabric

Rovnaký sémantický graf sa generuje v rámci ktorejkoľvek hranice, ktorú si zvolíte.

surový graf spúšťa každý prechod samostatne

odstránené tri medzivýsledky, spojené dve oblasti, jedna hodnota ponechaná na zariadení

úsporný pruh počíta spustenia, alokácie, prenosy a odstránené bajty

každá veža nesie pečať publikovania s harnessom, žiadny vymyslený hardvér

označenia operácií odpadávajú v každej fáze IR

označenia prežijú až po cieľový strojový kód

otvorené sprievodné projekty stoja mimo komerčnej hranice

konvenčná dráha kopíruje cez šesť pamäťových priestorov

konvenčný reťazec s viacerými vlastníkmi

reťazec Kera s jedným vlastníkom od grafu po stroj

hranica externého ovládača zostáva na okraji

vlastnosti sa šíria iba cez lane, ktorý je skutočne licencovaný

kognícia, organizácie, znalosti, výpočty

AI operácie, trénovanie, inferencia, servovanie

každý plán odkazuje na rovnaký hash grafu

rovnaká karta úlohy je prispôsobená rôznym plánom pre každý

hranica prevádzkovaná spoločnosťou Dweve

suverenita závisí od celého nastavenia, nielen od geografie

používateľ vidí dohodnutú funkciu Fabric nad tým

spravovaný Fabric na verejnej sieti Dweve Mesh; bez priameho prístupu ku Kera

Fabric na verejnej sieti Mesh v rámci jeho zmluvného spracovateľského rozsahu

niektoré kroky prebiehajú oveľa rýchlejšie ako bežná cesta

niekoľko prípadov je momentálne rýchlostne podobných

jedna úloha sa tiahne dlhým kľukatým procesom cez prekladové polia

trasa Kera zostáva jedným jasným plánom od úlohy až po stroj

stroj dostane prácu, ktorá je preň pripravená

zaznamená sa, ktorý strojový plán bol vybraný

balíky prechádzajú siedmimi miestnosťami bežným spôsobom

informácie zostávajú blízko tam, kde sú potrebné

offline systém môže odmietnuť prístup k sieti

žiadny skrytý prístup sa neobjaví neskôr

Kera je zahrnutá tam, kde je licencovaná

externý hardvér a operačné systémy sú na okraji

recept odovzdávaný medzi ľuďmi stráca svoj účel

kuchyňa stále môže robiť rozumné rozhodnutia

kroky, ktoré sedia, sa spracujú ako jeden

žiadna práca navyše, ktorá sa použije raz

jeho vlastná rýchla cesta je vždy k dispozícii

nie je potrebné žiadne externé pripojenie

rozhranie aplikácie zostáva prívetivé a jednoduché

rez odhaľuje plán Kera a strojovú prácu pod ním

v bežnom používaní neexistujú žiadne ovládacie prvky Kera

dostávate rýchlejšie a stabilnejšie správanie

bunky s obrysom označujú čakajúcu analýzu

preskúmajte, ktoré fakty spôsobili rozdiel

neznáme bunky balíkov zostávajú načrtnuté, kým nie je balenie konečné

uzol operácie Core vstupuje do plánu Kera

kde Kera chýba, Core zostáva natívny v Ruste

prísny režim opravuje aritmetiku a poradie

seeded režim opakuje variácie podľa seedu

kreatívny režim umožňuje zamýšľanú variáciu

LLVM dráha jednoducho chýba, nie je teatrálne prečiarknutá

V strede nie je žiadna fáza LLVM IR. Každý krok zachováva sémantiku grafu a operácií.

vybraná cesta sa zapíše do záznamu vykonania

prstencová all-reduce prepojí rozdelenia

uzly s efektmi prechádzajú cez brány schopností

nedeklarovaná schopnosť je overovačom odmietnutá

oddelené oblasti s materializovanými medzivýsledkami

graf je zachovaný vo všetkých neskorších fázach

každá lišta nesie presný čip testovacieho rozsahu, žiadny vymyslený hardvér

výsledky sa líšia podľa hardvéru, zverejnené s testovacím rámcom

nové hashe sa šíria iba cez ovplyvnených predkov

nezmenené podgrafy si zachovávajú identitu

token prechádza cez priestory hostiteľa, zariadenia a vzdialené priestory

všeobecné rozsahy platnosti bez kontextu operácie

rozsahy platnosti tvarované kontextom grafu

rozbaľovanie, šírka vektorov a výpady zvolené z operácie

každý cieľ nesie svoj vlastný vygenerovaný artefakt

kontrola, zostavenie, inšpekcia, plánovanie, spustenie, overenie

nezobrazuje sa žiadny vymyslený výstup benchmarku

určuje veľkosť vyrovnávacích pamätí a šírku vektorov

umiestňuje hodnotu na hostiteľa alebo zariadenie

spoločná príčina je zachovaná sémantická informácia

Kera udržiava operácie, efekty, vlastníctvo a pohyb viditeľné od zdrojového grafu až po vykonanie na cieľovom zariadení. Prečítajte si o architektúre, preskúmajte grafové IR alebo nám prineste produkčnú cestu, ktorá už bola optimalizovaná cez LLVM.

Ring allreduce, obnova kontrolných bodov

x86-64 (SSE2/AVX2/AVX-512), ARM64 (NEON), RISC-V (Vector)

Kera je staticky typovaný systémový jazyk s grafovo-natívnym, content-addressed IR. Kompiluje programy do súborov .keg, orientovaných acyklických grafov operácií, a vykonáva ich na CPU, GPU, FPGA a WASM. Kera používa vlastné generovanie kódu pre x86-64, ARM64 a RISC-V namiesto LLVM, s prideľovaním registrov a výberom SIMD kernelov. Vedľajšie efekty sú sledované a vlastníctvo v štýle Rust pokrýva hostiteľskú, zariadenú, pripnutú a jednotnú pamäť. Projekt je Rust workspace s distribuovaným vykonávaním, bezpečnosťou založenou na schopnostiach a nástrojmi LSP.

Prineste operáciu, tvary, cieľ, príznaky a požiadavky na determinizmus, ktoré používate vo výrobe. Porovnáme vygenerovanú cestu a ukážeme, kde zachovanie grafu mení výsledok.

Jeden graf. Vykonávanie naplánované pre cieľ.

Kera kombinuje grafovo-natívny systémový jazyk, content-addressed IR, kompilátor, JIT a heterogénny vykonávací systém. Udržiava typy, efekty, vlastníctvo, dátový tok, pamäťové priestory a politiku vykonávania viditeľné, pričom vytvára plány špecifické pre cieľ pre podporované cesty CPU, GPU, FPGA a WebAssembly. LLVM nie je v centre kompilačného reťazca.

Kera je licencovaná samostatne pre licencované nasadenia. Porozprávajte sa s nami o portfóliu cieľov, izolovanej prevádzke a akýchkoľvek samostatne vybraných právach na zdroj, kontrolu alebo transfer technológií.

Výpočet si zachováva svoju identitu až k stroju.

Natívny strojový kód cez vlastný JIT kompilátor

Pracovné zaťaženia AI inferencie a simulácií Dweve

Programovací jazyk pre konzistentný a rýchly výpočet

Softvér často prechádza toľkými prekladovými vrstvami, že počítač už nevidí úlohu ako celok. Kera udržiava výpočet organizovaný ako jeden graf a potom pripraví plán vykonania pre stroj, ktorý prácu vykonáva. To môže odstrániť zbytočné kroky, znížiť pohyb a zanechať jasnejší záznam o tom, čo sa skutočne spustilo.

Dweve Kera je grafovo orientovaný systémový jazyk a kompilátor pre deterministický výpočet na heterogénnom hardvéri. Jeho staticky typovaná, obsahovo adresovaná medzireprezentácia udržiava operáciu viditeľnú počas plánovania a potom generuje vykonávanie pre CPU, GPU, FPGA a WebAssembly. Graf zostáva programom.

Všeobecný kompilátor musí slúžiť každému druhu softvéru. Jeho šírka obmedzuje, ako hlboko dokáže pochopiť špecializovanú operáciu, keď ju frontend zredukuje na slučky, ukazovatele a všeobecnú aritmetiku, a žiadna neskoršia fáza nedokáže obnoviť to, čo táto redukcia odstránila.

Identita operácie, algoritmy, zámer balenia, očakávané tvary, determinizmus a vlastníctvo pamäte sa môžu rozptýliť medzi nástrojmi pred finálnou optimalizáciou. Cenou je každá užitočná voľba, ktorá sa stane nemožnou, keď výpočet zabudne, čím bol.

Násobenie matíc sa stane anonymnými slučkami.

Očakávané tvary tenzorov a vektorov zmiznú.

Pravidlá pamäte hostiteľa a zariadenia sa vytratia.

prvá výhoda nie je rýchlejšia inštrukcia

je to zapamätanie si, na čo inštrukcie slúžia

Kera si tieto fakty ponecháva pripojené k operácii.

Kera reprezentuje výpočet ako typovaný graf. Operácia zostáva operáciou namiesto toho, aby sa príliš skoro stala anonymným nízkourovňovým kódom. Jej vstupy, výstupy, tvary, efekty, vlastníctvo, pamäťové priestory a politika vykonávania zostávajú k nej pripojené.

Zachovaný kontext umožňuje Kere vyberať priamo z operácie, spájať súvisiacu prácu naprieč grafom a plánovať presun na základe deklarovaného vlastníctva. Všeobecný reťazec musí tieto fakty odvodzovať z nízkourovňových vzorov až po ich strate, preto môže rovnaký zdroj skompilovať do veľmi odlišného strojového správania v závislosti od toho, koľko významu prežilo cestu.