# Kipinä Agentic Network PoC (WebGPU Edition) Tämä on hajautetun tekoälylaskennan (Agentic Compute) kokeilulaboratorio. Projekti koostuu Rust-pohjaisesta keskuksesta (Hub) ja selainpohjaisista työntekijöistä (Nodet), jotka suorittavat tekoälytensoreiden matriisilaskentaa **WebGPU**-rajapintaa ja **Burn AI** -koneoppimiskirjastoa hyödyntäen. Normaalin keskitetyn palvelimen sijaan tämä kokeilu hyödyntää selaimeen kytkettyjen lukemattomien laitteiden vapaana olevaa tehokapasiteettia hajautetusti P2P-tyylillä. ## Kuinka käynnistää projekti paikallisesti 1. **Rakenna solmun WebAssembly-binääri** Paketoi Rust WebAssemblyksi (vaatii `wasm-pack`-työkalun): ```bash cd node wasm-pack build --target web --out-dir ../static/pkg ``` 2. **Käynnistä Hub-Keskuspalvelin** ```bash cd hub cargo run ``` Palvelin lähtee pyörimään ja tarjoamaan sekä WebSocket-reititintä että staattista Dashboard-sivustoa lokaalisti portissa `3000`. --- ## ⚠️ WebGPU Ota-Käyttöön -ohjeet (Linux / Mac / Win) Selainvalmistajat rajoittavat tällä hetkellä uuden WebGPU-rajapinnan hardware-yhteyttä (fyysiseen näytönohjaimeen) turvallisuus- ja vakaussyistä, erityisesti Linuxin Wayland-ympäristöissä (kuten Pop!_OS, Ubuntu). Päästäksesi hyödyntämään solmun laskentatehoa selaimesi ja tietokoneesi näytönohjaimen läpi, joudut todennäköisesti pakottamaan sen käyntiin. ### Chromium-pohjaiset selaimet (Google Chrome, Brave, Chromium) **Vaihtoehto 1: Käynnistys lipuilla (Suositeltu Linuxille ja Waylandille)** Jos Chromesi tuottaa Wasm-kaatumisia tai väittää ettei adapteria löydy, laitteesi Wayland-palvelin estää Vulkan-rajapinnan oletuksena. Käynnistä selaimesi komentoriviltä pakottamalla vanha X11-ikkunointi ja Vulkan: ```bash # Google Chrome google-chrome --enable-unsafe-webgpu --enable-features=Vulkan --ignore-gpu-blocklist --use-angle=vulkan --ozone-platform=x11 # Brave Browser brave-browser --enable-unsafe-webgpu --enable-features=Vulkan --ignore-gpu-blocklist --use-angle=vulkan --ozone-platform=x11 # Chromium chromium-browser --enable-unsafe-webgpu --enable-features=Vulkan --ignore-gpu-blocklist --use-angle=vulkan --ozone-platform=x11 ``` *(Voit halutessasi testata puhdasta testi-ikkunaa erillisen profiilin kera, lisäämällä perään `--user-data-dir=/tmp/kipin-webgpu-test` jottei asetus sotke tai ohjaudu vanhaan auki olevaan sessioosi).* **Vaihtoehto 2: Sisäänrakennetun Flagin kääntö (Windows / Mac / Osittain Linux)** 1. Kirjoita selaimen osoiteriville `chrome://flags` (tai `brave://flags`) 2. Etsi hakusanalla **WebGPU** (Unsafe WebGPU / WebGPU Developer Features) ja vaihda tilaksi `Enabled` 3. Etsi hakusanalla **Vulkan** ja vaihda tilaan `Enabled` 4. Uudelleenkäynnistä selain pienen napin kautta. --- ### Mozilla Firefox Firefox tukee WebGPU:ta toistaiseksi vahvasti vain Nightly-versioissa, mutta sitä voi yrittää aktivoida Config-asetuksista. 1. Kirjoita osoiteriville `about:config` ja ymmärrä riskit. 2. Etsi `dom.webgpu.enabled` ja tuplaklikkaa arvoksi `true`. 3. Etsi `gfx.webrender.all` ja aseta se `true`. 4. Uudelleenkäynnistä Firefox. *(Huomio Linux-käyttäjille: Firefox saattaa edellyttää MOZ_ENABLE_WAYLAND ympäristömuuttujaa).* --- ### Apple Safari (Mac) Apple käyttää konepellin alla vahvaa omaa Metal-rajapintaansa ja tukee WebGPU:ta uudemmissa Safari-versioissa kehittäjäasetusten takaa: 1. Varmista ensin Safarin asetuksista (Preferences -> Advanced) , että ruutu on ruksittu kohdasta `"Show Develop menu in menu bar"`. 2. Valitse yläpalkista avautuva **Develop**-valikko -> **Feature Flags**. 3. Etsi listalta **WebGPU** ja laita siihen täppä pelastamaan tilanne. 4. Päivitä Dashboard-sivu.