Sakhanda Wire
NVDA MSFT GOOGL META AMZN
← Към новините

Vercel AI публикува с отворен код vgpu: TypeScript WebGPU библиотека за шейдъри на AI агенти

Шейдърите все още са най-трудното нещо за внедряване от един обикновен уеб екип. WebGPU ви дава хардуера, а след това ви изправя пред адаптери, оформления на bind групи и дескриптори на конвейери, преди да се премести и един-единствен пиксел. Vercel пое тази цена вътрешно, изграждайки шейдърите за vercel.com, а сега публикува резултата като отворен код. vgpu е TypeScript библиотека, която третира файловете .wgsl като модули за импортиране, предоставя един Gpu контекст и изпълнява един и същ шейдър в canvas на браузър, в headless Node.js и в CI тест за моментна снимка.

Може ли да бъде внедрено?

Да,vgpu е с MIT лиценз и е публикувано в npm, така че pnpm add vgpu е целият процес по придобиването му. Това е библиотека, а не хоствана услуга, така че няма нужда от акаунт, квота или такса за инференция.

Един контекст, без скрито глобално състояние

init() получава адаптер и устройство и връща един-единствен Gpu манипулатор. Всичко останало се управлява чрез него. Бързият старт за браузър в README е от четири реда:

Копиране на кодаКопираноИзползване на друг браузър
const gpu = await init();
const surface = gpu.surface(canvas, { dpr: [1, 2] });
const wave = gpu.effect(WAVE_WGSL, { set: { speed: 2 } });
gpu.frame.loop(() => { wave.set({ time: gpu.time }); wave.draw(); });

surface обвива canvas елемента и ограничава съотношението на пикселите на устройството между 1 и 2. effect компилира WGSL във fullscreen ефект, чиито униформи се адресират чрез WGSL имената си посредством set(). Кадрите са изрично зададени: проходите, изчистванията и рисуванията са извиквания, а не имплицитно състояние на графа на сцената.

WGSL като модулна система

Отличителната черта са инструментите за шейдъри. Файловете .wgsl се импортират и експортират като TypeScript модули. vgpu разрешава графа на модулите, отразява свързванията, премахва неизползваните декларации и генерира компактен изходен код на шейдъра по време на компилация. Това премахва ръчно написаните декларации за свързвания, които обикновено се разминават с шейдъра. README посочва, че един завършен fullscreen ефект се доставя в размер 25 KB gzip-нат и че този бюджет се налага в CI.

Три среди за изпълнение, един API

Пакетът предоставя експортирания на под-пътища за vgpu, vgpu/node, vgpu/mock, vgpu/scene, vgpu/client и vgpu/core. Node пътят е базиран на Dawn и рендерира извън екрана:

Копиране на кодаКопираноИзползване на друг браузър
const target = gpu.target({ size: [256, 256], format: "rgba8unorm" });
const pixels = await target.read();

Именно това прави рендерирането в CI практично. pixelmatch и pngjs са директни зависимости на публикувания пакет, в съответствие с документирания работен процес, при който CI компилира шейдъра, рендерира headless кадър и сравнява моментната снимка. Mock адаптерът е детерминистичен и съществува за тестове, които изобщо не трябва да използват GPU.

Повърхността за агенти

Vercel нарича това библиотека, ориентирана първо към агентите, и структурата на пакета потвърждава това. Пакетът включва двоичен файл vgpu, така че npx vgpu docs, npx vgpu examples и npx vgpu check работят без глобална инсталация. vgpu.sh публикува agents.md, llms.txt и пълен експорт на документацията, както и API за откриване на примери без токени с описание на OpenAPI 3.1. Хостван MCP сървър само за четене е достъпен на vgpu.sh/api/mcp, а @modelcontextprotocol/server е директна зависимост. В хранилището има и инсталиращо се умение за агенти.

Сравнение

Основни изводи

  • Vercel публикува като отворен код vgpu — WebGPU библиотеката, която е създал, за да внедрява шейдъри в vercel.com.
  • Един API интерфейс работи в браузъра, в headless Node.js чрез Dawn и в детерминистичен mock.
  • Файловете .wgsl се импортират и експортират като TypeScript модули, с отражение за свързванията и оформленията.
  • Един завършен fullscreen ефект се доставя в размер 25 KB gzip-нат — бюджет, за който хранилището посочва, че се налага от CI.
  • С MIT лиценз, в npm на версия v0.3.1, с CLI, llms.txt и хостван MCP endpoint само за четене.

Разгледайте GitHub хранилището, документацията и примерите и npm пакета. Също така не се колебайте да ни последвате в Twitter и не забравяйте да се присъедините към нашия ML SubReddit с над 150 хил. членове и да се абонирате за нашия бюлетин. Чакайте! В Telegram ли сте? Сега можете да се присъедините към нас и в Telegram.

Преведено автоматично от английски. Оригиналната статия е на връзката по-долу.

Първоначално публикувано от MarkTechPost на

Прочетете оригинала в MarkTechPost ↗

Текстът и изображенията са собственост на MarkTechPost и са възпроизведени тук с посочване на авторството и връзка към оригиналната публикация.

← Към новините

Още новини

Всички последни новини