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.