A Bend projekt egy magas szintű nyelvet fejleszt párhuzamos számításokhoz GPU-n.

Megjelent a Bend projekt első kiadása, amely egy magas szintű programozási nyelvet fejleszt párhuzamos számításokhoz. Ez a nyelv alternatívát kínál az alacsony szintű nyelvek, mint a CUDA és Metal mellett, kifejező szintaxissal és a Python és Haskell nyelvekre jellemző fejlesztési lehetőségekkel. A projekt kódja Rust nyelven készült, és Apache 2.0 licenc alatt áll rendelkezésre.

A Bend nyelv lehetőségei közé tartozik az objektumok gyors elosztása, a magasabb rendű függvények, zárványok, folytatások, korlátlan rekurzió, mintaillesztés, rekurzív illesztések (fold) és ciklusok (bend), valamint egész szám, karakterlánc és lista típusok használata. Kétféle szintaxis támogatott - Python stílus és Haskell stílus. A programokban nem szükséges a párhuzamosítás vezérlő annotációinak megadása, a szálak kézi létrehozása és a zárolások beállítása. A párhuzamosítás automatikusan történik, például a „((1 + 2) + (3 + 4))” kifejezés számításakor a „1 + 2” és a „3 + 4” párhuzamosan fog végrehajtódni.

A Bend nyelven írt programok olyan hardveren futtathatók, amely tömeges párhuzamosságot biztosít, például GPU-n, és a teljesítmény gyakorlatilag lineárisan növekszik a számítási magok számának függvényében. A Bend kódot egy alacsony szintű köztes reprezentációra (HVM2 - Higher-order Virtual Machine 2) fordítják, amelyet ezután C és CUDA kódra fordítanak. Jelenleg a projekt csak az NVIDIA GPU-kon való végrehajtást támogatja.

A teljesítménnyel kapcsolatban a tesztalkalmazás, amely megvalósítja a bitonális rendezést, egy szálon CPU Apple M3 Max alatt 12,15 másodperc alatt futott, 16 szál használatakor 0,96 másodperc, míg az NVIDIA RTX 4090 GPU-val 16k szál mellett 0,21 másodperc alatt teljesült. def sort(d, s, tree): switch d: case 0: return tree case _: (x,y) = tree lft = sort(d-1, 0, x) rgt = sort(d-1, 1, y) return rots(d, s, lft, rgt) def rots(d, s, tree): switch d: case 0: return tree case _: (x,y) = tree return down(d, s, warp(d-1, s, x, y)) …

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster