百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
J

js

> 编程语言
开源

turbo.js - 在浏览器中利用GPGPU执行大规模并行计算。

2.7K stars0 点赞2 次浏览
访问官网GitHub

工具介绍

turbo.js - 在浏览器中利用GPGPU执行大规模并行计算。

turbo.js 是一个小型库,用于简化可并行执行的复杂计算。实际执行的计算(即内核)使用 GPU 进行运算,这使得您可以一次性处理一个值数组。

turbo.js 兼容所有浏览器(在不使用 ES6 模板字符串时甚至支持 IE),并且兼容大多数桌面和移动 GPU。

如需实时演示和简短介绍,请访问 turbo.GitHub.io。

示例 1

对于此示例(也可在上述网站中找到),我们将对一个较大的值数组执行简单计算。

首先,在您的网站中包含 turbo.js:

xml
<script src="https://turbo.github.io/js/turbo.js"></script>

或者通过 npm 拉取 turbojs 以在项目中使用。

turbo.js 只有两个可被你的代码调用的函数。它们都包含在 turbojs 对象中。如果该对象未初始化,则说明出了问题。因此,第一步是检查 turbo.js 的支持情况。你还可以选择检查 turbo.js 抛出的异常,这些异常将提供有关错误的更多详细信息。

javascript
if (turbojs) {
  // yay
}

现在我们需要一些内存。由于数据需要从 GPU 和系统内存中传输,我们希望减少此复制操作所产生的开销。为此,turbo.js 提供了 alloc 函数。该函数将在 GPU 和浏览器中预留内存。JavaScript 可以通过访问包含预留内存的变量的 .data 子数组来访问和更改预留内存的内容。

对于 turbo.js 和 JavaScript,分配的内存是严格类型化的,表示一个 32 位 IEEE 浮点值的一维数组。因此,.data 子数组是一个标准的 JavaScript Float32Array 对象。分配后,你可以随意与该数组交互,但更改其大小除外。这样做将导致未定义行为。

javascript
if (turbojs) {
  var foo = turbojs.alloc(1e6);
}

现在我们有了一个数组,其中

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

JavaScriptcalculationsglslgpgpugpu

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言