{"id":114406,"date":"2026-08-29T00:53:00","date_gmt":"2026-08-29T00:53:00","guid":{"rendered":"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/"},"modified":"2026-08-29T00:53:00","modified_gmt":"2026-08-29T00:53:00","slug":"vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders","status":"publish","type":"post","link":"https:\/\/youzum.net\/fr\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/","title":{"rendered":"Vercel AI Open-Sources vgpu: A TypeScript WebGPU Library for AI Agent Shaders"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Shaders are still the hardest thing to ship on a normal web team. WebGPU gives you the hardware, then hands you adapters, bind group layouts, and pipeline descriptors before a single pixel moves. Vercel spent that cost internally building the shaders on vercel.com, and has now open-sourced the result. <code><strong><a href=\"https:\/\/github.com\/vercel-labs\/vgpu\" target=\"_blank\" rel=\"noreferrer noopener\">vgpu<\/a><\/strong><\/code> is a TypeScript library that treats <code>.wgsl<\/code> files as importable modules, exposes one <code>Gpu<\/code> context, and runs the same shader in a browser canvas, in headless Node.js, and in a CI snapshot test.<\/p>\n<h2 class=\"wp-block-heading\"><strong>Is it deployable?<\/strong><\/h2>\n<p class=\"wp-block-paragraph\"><strong>Yes<\/strong>,<code>vgpu<\/code> is <a href=\"https:\/\/github.com\/vercel-labs\/vgpu\/blob\/main\/LICENSE\">MIT licensed<\/a> and published to npm, so <code>pnpm add vgpu<\/code> is the entire acquisition path. It is a library, not a hosted service, so there is no account, quota, or inference bill.<\/p>\n<h2 class=\"wp-block-heading\"><strong>One context, no hidden global state<\/strong><\/h2>\n<p class=\"wp-block-paragraph\"><code>init()<\/code> acquires an adapter and device and returns a single <code>Gpu<\/code> handle. Everything else hangs off it. The browser quick start in the README is four lines:<\/p>\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\">\n<div class=\"control-language\">\n<div class=\"dm-buttons\">\n<div class=\"dm-buttons-left\">\n<div class=\"dm-button-snippet red-button\"><\/div>\n<div class=\"dm-button-snippet orange-button\"><\/div>\n<div class=\"dm-button-snippet green-button\"><\/div>\n<\/div>\n<div class=\"dm-buttons-right\"><a><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\">Copied<\/span><span class=\"dm-error-message\">Use a different Browser<\/span><\/a><\/div>\n<\/div>\n<pre class=\"no-line-numbers\"><code class=\"no-wrap language-php\">const gpu = await init();\nconst surface = gpu.surface(canvas, { dpr: [1, 2] });\nconst wave = gpu.effect(WAVE_WGSL, { set: { speed: 2 } });\ngpu.frame.loop(() =&gt; { wave.set({ time: gpu.time }); wave.draw(); });<\/code><\/pre>\n<\/div>\n<\/div>\n<p class=\"wp-block-paragraph\"><code>surface<\/code> wraps the canvas and clamps device pixel ratio between 1 and 2. <code>effect<\/code> compiles WGSL into a fullscreen effect whose uniforms are addressed by their WGSL names through <code>set()<\/code>. Frames are explicit: passes, clears, and draws are calls, never implicit scene-graph state.<\/p>\n<h2 class=\"wp-block-heading\"><strong>WGSL as a Module System<\/strong><\/h2>\n<p class=\"wp-block-paragraph\">The differentiator is shader tooling. <code>.wgsl<\/code> files import and export like TypeScript modules. <code>vgpu<\/code> resolves the module graph, reflects bindings, removes unused declarations, and emits compact shader source at build time. That removes the hand-written binding declarations that normally drift out of sync with the shader. The README states a complete fullscreen effect ships in 25 KB gzipped, and that the budget is enforced in CI.<\/p>\n<h2 class=\"wp-block-heading\"><strong>Three Runtimes, One API<\/strong><\/h2>\n<p class=\"wp-block-paragraph\">The package exposes subpath exports for <code>vgpu<\/code>, <code>vgpu\/node<\/code>, <code>vgpu\/mock<\/code>, <code>vgpu\/scene<\/code>, <code>vgpu\/client<\/code>, and <code>vgpu\/core<\/code>. The Node path is Dawn-backed and renders offscreen:<\/p>\n<div class=\"dm-code-snippet dark dm-normal-version default no-background-mobile\">\n<div class=\"control-language\">\n<div class=\"dm-buttons\">\n<div class=\"dm-buttons-left\">\n<div class=\"dm-button-snippet red-button\"><\/div>\n<div class=\"dm-button-snippet orange-button\"><\/div>\n<div class=\"dm-button-snippet green-button\"><\/div>\n<\/div>\n<div class=\"dm-buttons-right\"><a><span class=\"dm-copy-text\">Copy Code<\/span><span class=\"dm-copy-confirmed\">Copied<\/span><span class=\"dm-error-message\">Use a different Browser<\/span><\/a><\/div>\n<\/div>\n<pre class=\"no-line-numbers\"><code class=\"no-wrap language-php\">const target = gpu.target({ size: [256, 256], format: \"rgba8unorm\" });\nconst pixels = await target.read();<\/code><\/pre>\n<\/div>\n<\/div>\n<p class=\"wp-block-paragraph\">That is what makes CI rendering practical. <code>pixelmatch<\/code> and <code>pngjs<\/code> are direct dependencies of the published package, consistent with the documented workflow where CI compiles the shader, renders a headless frame, and compares the snapshot. The mock adapter is deterministic and exists for tests that should not touch a GPU at all.<\/p>\n<h2 class=\"wp-block-heading\"><strong>The Agent Surface<\/strong><\/h2>\n<p class=\"wp-block-paragraph\">Vercel calls this an agent-first library, and the packaging backs that up. The package ships a <code>vgpu<\/code> binary, so <code>npx vgpu docs<\/code>, <code>npx vgpu examples<\/code>, and <code>npx vgpu check<\/code> work without a global install. <code>vgpu.sh<\/code> publishes <code>agents.md<\/code>, <code>llms.txt<\/code>, and a full documentation export, plus a tokenless examples discovery API with an OpenAPI 3.1 description. A hosted read-only MCP server is available at <code>vgpu.sh\/api\/mcp<\/code>, and <code>@modelcontextprotocol\/server<\/code> is a direct dependency. There is also an installable agent skill in the repo.<\/p>\n<h2 class=\"wp-block-heading\"><strong>Comparison<\/strong><\/h2>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1800\" height=\"1894\" data-attachment-id=\"81936\" data-permalink=\"https:\/\/www.marktechpost.com\/2026\/08\/28\/vercel-vgpu-webgpu-library-open-source\/vgpu-comparison-table\/\" data-orig-file=\"https:\/\/www.marktechpost.com\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table.png\" data-orig-size=\"1800,1894\" data-comments-opened=\"0\" data-image-meta='{\"aperture\":\"0\",\"credit\":\"\",\"camera\":\"\",\"caption\":\"\",\"created_timestamp\":\"0\",\"copyright\":\"\",\"focal_length\":\"0\",\"iso\":\"0\",\"shutter_speed\":\"0\",\"title\":\"\",\"orientation\":\"0\",\"alt\":\"\"}' data-image-title=\"vgpu-comparison-table\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/www.marktechpost.com\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table-973x1024.png\" src=\"https:\/\/www.marktechpost.com\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table.png\" alt=\"\" class=\"wp-image-81936\" \/><\/figure>\n<\/div>\n<h2 class=\"wp-block-heading\"><strong>Key Takeaways<\/strong><\/h2>\n<ul class=\"wp-block-list\">\n<li>Vercel open-sourced <code>vgpu<\/code>, the WebGPU library it built to ship shaders on vercel.com.<\/li>\n<li>One API surface runs in the browser, in headless Node.js via Dawn, and in a deterministic mock.<\/li>\n<li><code>.wgsl<\/code> files import and export like TypeScript modules, with reflection for bindings and layouts.<\/li>\n<li>A complete fullscreen effect ships in 25 KB gzipped, a budget the repo says CI enforces.<\/li>\n<li>MIT licensed, on npm at v0.3.1, with a CLI, <code>llms.txt<\/code>, and a hosted read-only MCP endpoint.<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n<\/p><p class=\"wp-block-paragraph\">\n<\/p><p class=\"wp-block-paragraph\">Check out the <a href=\"https:\/\/github.com\/vercel-labs\/vgpu\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>GitHub Repo<\/strong><\/a>, <a href=\"https:\/\/vgpu.sh\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Docs and Examples<\/strong><\/a>, and the <a href=\"https:\/\/www.npmjs.com\/package\/vgpu\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>npm package<\/strong><\/a>. Also,\u00a0feel free to follow us on\u00a0<strong><a href=\"https:\/\/x.com\/intent\/follow?screen_name=marktechpost\" target=\"_blank\" rel=\"noopener\"><mark>Twitter<\/mark><\/a><\/strong>\u00a0and don\u2019t forget to join our\u00a0<strong><a href=\"https:\/\/www.reddit.com\/r\/machinelearningnews\/\" target=\"_blank\" rel=\"noopener\">150k+ML SubReddit<\/a><\/strong>\u00a0and Subscribe to\u00a0<strong><a href=\"https:\/\/magic.beehiiv.com\/v1\/f5e63dd4-5653-4f09-83e2-321a8b1ba526?email=%7B%7Bemail%7D%7D\" target=\"_blank\" rel=\"noopener\">our Newsletter<\/a><\/strong>. Wait! are you on telegram?\u00a0<strong><a href=\"https:\/\/t.me\/machinelearningresearchnews\" target=\"_blank\" rel=\"noopener\">now you can join us on telegram as well.<\/a><\/strong><\/p>\n<p>The post <a href=\"https:\/\/www.marktechpost.com\/2026\/08\/28\/vercel-vgpu-webgpu-library-open-source\/\">Vercel AI Open-Sources vgpu: A TypeScript WebGPU Library for AI Agent Shaders<\/a> appeared first on <a href=\"https:\/\/www.marktechpost.com\/\">MarkTechPost<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Shaders are still the hardest thing to ship on a normal web team. WebGPU gives you the hardware, then hands you adapters, bind group layouts, and pipeline descriptors before a single pixel moves. Vercel spent that cost internally building the shaders on vercel.com, and has now open-sourced the result. vgpu is a TypeScript library that treats .wgsl files as importable modules, exposes one Gpu context, and runs the same shader in a browser canvas, in headless Node.js, and in a CI snapshot test. Is it deployable? Yes,vgpu is MIT licensed and published to npm, so pnpm add vgpu is the entire acquisition path. It is a library, not a hosted service, so there is no account, quota, or inference bill. One context, no hidden global state init() acquires an adapter and device and returns a single Gpu handle. Everything else hangs off it. The browser quick start in the README is four lines: Copy CodeCopiedUse a different Browser const gpu = await init(); const surface = gpu.surface(canvas, { dpr: [1, 2] }); const wave = gpu.effect(WAVE_WGSL, { set: { speed: 2 } }); gpu.frame.loop(() =&gt; { wave.set({ time: gpu.time }); wave.draw(); }); surface wraps the canvas and clamps device pixel ratio between 1 and 2. effect compiles WGSL into a fullscreen effect whose uniforms are addressed by their WGSL names through set(). Frames are explicit: passes, clears, and draws are calls, never implicit scene-graph state. WGSL as a Module System The differentiator is shader tooling. .wgsl files import and export like TypeScript modules. vgpu resolves the module graph, reflects bindings, removes unused declarations, and emits compact shader source at build time. That removes the hand-written binding declarations that normally drift out of sync with the shader. The README states a complete fullscreen effect ships in 25 KB gzipped, and that the budget is enforced in CI. Three Runtimes, One API The package exposes subpath exports for vgpu, vgpu\/node, vgpu\/mock, vgpu\/scene, vgpu\/client, and vgpu\/core. The Node path is Dawn-backed and renders offscreen: Copy CodeCopiedUse a different Browser const target = gpu.target({ size: [256, 256], format: &#8220;rgba8unorm&#8221; }); const pixels = await target.read(); That is what makes CI rendering practical. pixelmatch and pngjs are direct dependencies of the published package, consistent with the documented workflow where CI compiles the shader, renders a headless frame, and compares the snapshot. The mock adapter is deterministic and exists for tests that should not touch a GPU at all. The Agent Surface Vercel calls this an agent-first library, and the packaging backs that up. The package ships a vgpu binary, so npx vgpu docs, npx vgpu examples, and npx vgpu check work without a global install. vgpu.sh publishes agents.md, llms.txt, and a full documentation export, plus a tokenless examples discovery API with an OpenAPI 3.1 description. A hosted read-only MCP server is available at vgpu.sh\/api\/mcp, and @modelcontextprotocol\/server is a direct dependency. There is also an installable agent skill in the repo. Comparison Key Takeaways Vercel open-sourced vgpu, the WebGPU library it built to ship shaders on vercel.com. One API surface runs in the browser, in headless Node.js via Dawn, and in a deterministic mock. .wgsl files import and export like TypeScript modules, with reflection for bindings and layouts. A complete fullscreen effect ships in 25 KB gzipped, a budget the repo says CI enforces. MIT licensed, on npm at v0.3.1, with a CLI, llms.txt, and a hosted read-only MCP endpoint. Check out the GitHub Repo, Docs and Examples, and the npm package. Also,\u00a0feel free to follow us on\u00a0Twitter\u00a0and don\u2019t forget to join our\u00a0150k+ML SubReddit\u00a0and Subscribe to\u00a0our Newsletter. Wait! are you on telegram?\u00a0now you can join us on telegram as well. The post Vercel AI Open-Sources vgpu: A TypeScript WebGPU Library for AI Agent Shaders appeared first on MarkTechPost.<\/p>","protected":false},"author":2,"featured_media":114400,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"pmpro_default_level":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_pvb_checkbox_block_on_post":false,"footnotes":""},"categories":[52,5,7,1],"tags":[],"class_list":["post-114406","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-club","category-committee","category-news","category-uncategorized","pmpro-has-access"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Vercel AI Open-Sources vgpu: A TypeScript WebGPU Library for AI Agent Shaders - YouZum<\/title>\n<meta name=\"description\" content=\"\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e42\u0e14\u0e23\u0e19\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/youzum.net\/fr\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Vercel AI Open-Sources vgpu: A TypeScript WebGPU Library for AI Agent Shaders - YouZum\" \/>\n<meta property=\"og:description\" content=\"\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e42\u0e14\u0e23\u0e19\" \/>\n<meta property=\"og:url\" content=\"https:\/\/youzum.net\/fr\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/\" \/>\n<meta property=\"og:site_name\" content=\"YouZum\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DroneAssociationTH\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-29T00:53:00+00:00\" \/>\n<meta name=\"author\" content=\"admin NU\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin NU\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/\"},\"author\":{\"name\":\"admin NU\",\"@id\":\"https:\/\/yousum.gpucore.co\/#\/schema\/person\/97fa48242daf3908e4d9a5f26f4a059c\"},\"headline\":\"Vercel AI Open-Sources vgpu: A TypeScript WebGPU Library for AI Agent Shaders\",\"datePublished\":\"2026-08-29T00:53:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/\"},\"wordCount\":558,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/yousum.gpucore.co\/#organization\"},\"image\":{\"@id\":\"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/youzum.net\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table-utUwe8.webp\",\"articleSection\":[\"AI\",\"Committee\",\"News\",\"Uncategorized\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/\",\"url\":\"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/\",\"name\":\"Vercel AI Open-Sources vgpu: A TypeScript WebGPU Library for AI Agent Shaders - YouZum\",\"isPartOf\":{\"@id\":\"https:\/\/yousum.gpucore.co\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/youzum.net\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table-utUwe8.webp\",\"datePublished\":\"2026-08-29T00:53:00+00:00\",\"description\":\"\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e42\u0e14\u0e23\u0e19\",\"breadcrumb\":{\"@id\":\"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/#primaryimage\",\"url\":\"https:\/\/youzum.net\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table-utUwe8.webp\",\"contentUrl\":\"https:\/\/youzum.net\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table-utUwe8.webp\",\"width\":1800,\"height\":1894},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/youzum.net\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Vercel AI Open-Sources vgpu: A TypeScript WebGPU Library for AI Agent Shaders\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/yousum.gpucore.co\/#website\",\"url\":\"https:\/\/yousum.gpucore.co\/\",\"name\":\"YouSum\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/yousum.gpucore.co\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/yousum.gpucore.co\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/yousum.gpucore.co\/#organization\",\"name\":\"Drone Association Thailand\",\"url\":\"https:\/\/yousum.gpucore.co\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/yousum.gpucore.co\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/youzum.net\/wp-content\/uploads\/2024\/11\/tranparent-logo.png\",\"contentUrl\":\"https:\/\/youzum.net\/wp-content\/uploads\/2024\/11\/tranparent-logo.png\",\"width\":300,\"height\":300,\"caption\":\"Drone Association Thailand\"},\"image\":{\"@id\":\"https:\/\/yousum.gpucore.co\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/DroneAssociationTH\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/yousum.gpucore.co\/#\/schema\/person\/97fa48242daf3908e4d9a5f26f4a059c\",\"name\":\"admin NU\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/yousum.gpucore.co\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/youzum.net\/wp-content\/uploads\/avatars\/2\/1746849356-bpfull.png\",\"contentUrl\":\"https:\/\/youzum.net\/wp-content\/uploads\/avatars\/2\/1746849356-bpfull.png\",\"caption\":\"admin NU\"},\"url\":\"https:\/\/youzum.net\/fr\/members\/adminnu\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Vercel AI Open-Sources vgpu: A TypeScript WebGPU Library for AI Agent Shaders - YouZum","description":"\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e42\u0e14\u0e23\u0e19","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/youzum.net\/fr\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/","og_locale":"fr_FR","og_type":"article","og_title":"Vercel AI Open-Sources vgpu: A TypeScript WebGPU Library for AI Agent Shaders - YouZum","og_description":"\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e42\u0e14\u0e23\u0e19","og_url":"https:\/\/youzum.net\/fr\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/","og_site_name":"YouZum","article_publisher":"https:\/\/www.facebook.com\/DroneAssociationTH\/","article_published_time":"2026-08-29T00:53:00+00:00","author":"admin NU","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"admin NU","Dur\u00e9e de lecture estim\u00e9e":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/#article","isPartOf":{"@id":"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/"},"author":{"name":"admin NU","@id":"https:\/\/yousum.gpucore.co\/#\/schema\/person\/97fa48242daf3908e4d9a5f26f4a059c"},"headline":"Vercel AI Open-Sources vgpu: A TypeScript WebGPU Library for AI Agent Shaders","datePublished":"2026-08-29T00:53:00+00:00","mainEntityOfPage":{"@id":"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/"},"wordCount":558,"commentCount":0,"publisher":{"@id":"https:\/\/yousum.gpucore.co\/#organization"},"image":{"@id":"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/#primaryimage"},"thumbnailUrl":"https:\/\/youzum.net\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table-utUwe8.webp","articleSection":["AI","Committee","News","Uncategorized"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/","url":"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/","name":"Vercel AI Open-Sources vgpu: A TypeScript WebGPU Library for AI Agent Shaders - YouZum","isPartOf":{"@id":"https:\/\/yousum.gpucore.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/#primaryimage"},"image":{"@id":"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/#primaryimage"},"thumbnailUrl":"https:\/\/youzum.net\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table-utUwe8.webp","datePublished":"2026-08-29T00:53:00+00:00","description":"\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e42\u0e14\u0e23\u0e19","breadcrumb":{"@id":"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/#primaryimage","url":"https:\/\/youzum.net\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table-utUwe8.webp","contentUrl":"https:\/\/youzum.net\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table-utUwe8.webp","width":1800,"height":1894},{"@type":"BreadcrumbList","@id":"https:\/\/youzum.net\/vercel-ai-open-sources-vgpu-a-typescript-webgpu-library-for-ai-agent-shaders\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/youzum.net\/"},{"@type":"ListItem","position":2,"name":"Vercel AI Open-Sources vgpu: A TypeScript WebGPU Library for AI Agent Shaders"}]},{"@type":"WebSite","@id":"https:\/\/yousum.gpucore.co\/#website","url":"https:\/\/yousum.gpucore.co\/","name":"YouSum","description":"","publisher":{"@id":"https:\/\/yousum.gpucore.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/yousum.gpucore.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/yousum.gpucore.co\/#organization","name":"Drone Association Thailand","url":"https:\/\/yousum.gpucore.co\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/yousum.gpucore.co\/#\/schema\/logo\/image\/","url":"https:\/\/youzum.net\/wp-content\/uploads\/2024\/11\/tranparent-logo.png","contentUrl":"https:\/\/youzum.net\/wp-content\/uploads\/2024\/11\/tranparent-logo.png","width":300,"height":300,"caption":"Drone Association Thailand"},"image":{"@id":"https:\/\/yousum.gpucore.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DroneAssociationTH\/"]},{"@type":"Person","@id":"https:\/\/yousum.gpucore.co\/#\/schema\/person\/97fa48242daf3908e4d9a5f26f4a059c","name":"admin NU","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/yousum.gpucore.co\/#\/schema\/person\/image\/","url":"https:\/\/youzum.net\/wp-content\/uploads\/avatars\/2\/1746849356-bpfull.png","contentUrl":"https:\/\/youzum.net\/wp-content\/uploads\/avatars\/2\/1746849356-bpfull.png","caption":"admin NU"},"url":"https:\/\/youzum.net\/fr\/members\/adminnu\/"}]}},"rttpg_featured_image_url":{"full":["https:\/\/youzum.net\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table-utUwe8.webp",1800,1894,false],"landscape":["https:\/\/youzum.net\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table-utUwe8.webp",1800,1894,false],"portraits":["https:\/\/youzum.net\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table-utUwe8.webp",1800,1894,false],"thumbnail":["https:\/\/youzum.net\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table-utUwe8-150x150.webp",150,150,true],"medium":["https:\/\/youzum.net\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table-utUwe8-285x300.webp",285,300,true],"large":["https:\/\/youzum.net\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table-utUwe8-973x1024.webp",973,1024,true],"1536x1536":["https:\/\/youzum.net\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table-utUwe8-1460x1536.webp",1460,1536,true],"2048x2048":["https:\/\/youzum.net\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table-utUwe8.webp",1800,1894,false],"trp-custom-language-flag":["https:\/\/youzum.net\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table-utUwe8-11x12.webp",11,12,true],"woocommerce_thumbnail":["https:\/\/youzum.net\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table-utUwe8-300x300.webp",300,300,true],"woocommerce_single":["https:\/\/youzum.net\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table-utUwe8-600x631.webp",600,631,true],"woocommerce_gallery_thumbnail":["https:\/\/youzum.net\/wp-content\/uploads\/2026\/08\/vgpu-comparison-table-utUwe8-100x100.webp",100,100,true]},"rttpg_author":{"display_name":"admin NU","author_link":"https:\/\/youzum.net\/fr\/members\/adminnu\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/youzum.net\/fr\/category\/ai-club\/\" rel=\"category tag\">AI<\/a> <a href=\"https:\/\/youzum.net\/fr\/category\/committee\/\" rel=\"category tag\">Committee<\/a> <a href=\"https:\/\/youzum.net\/fr\/category\/news\/\" rel=\"category tag\">News<\/a> <a href=\"https:\/\/youzum.net\/fr\/category\/uncategorized\/\" rel=\"category tag\">Uncategorized<\/a>","rttpg_excerpt":"Shaders are still the hardest thing to ship on a normal web team. WebGPU gives you the hardware, then hands you adapters, bind group layouts, and pipeline descriptors before a single pixel moves. Vercel spent that cost internally building the shaders on vercel.com, and has now open-sourced the result. vgpu is a TypeScript library that\u2026","_links":{"self":[{"href":"https:\/\/youzum.net\/fr\/wp-json\/wp\/v2\/posts\/114406","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/youzum.net\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/youzum.net\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/youzum.net\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/youzum.net\/fr\/wp-json\/wp\/v2\/comments?post=114406"}],"version-history":[{"count":0,"href":"https:\/\/youzum.net\/fr\/wp-json\/wp\/v2\/posts\/114406\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/youzum.net\/fr\/wp-json\/wp\/v2\/media\/114400"}],"wp:attachment":[{"href":"https:\/\/youzum.net\/fr\/wp-json\/wp\/v2\/media?parent=114406"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/youzum.net\/fr\/wp-json\/wp\/v2\/categories?post=114406"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/youzum.net\/fr\/wp-json\/wp\/v2\/tags?post=114406"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}