WasmEdge 0.12 发布,新的 plugin 系统,用于 AI 的 Wasm API


WasmEdge 0.12.1 发布:新的 plugin 系统、用于 AI 的 Wasm API、高级 socket networking

WasmEdge 0.12.0 和 0.12.1 已经发布。这两个版本带来了大量新的特性、优化和错误修复,进一步提高了 WasmEdge 的性能、安全性和通用性。

主要特性:

  • 新的 plugin 系统使社区可以轻松地向 WasmEdge 增加功能
  • 通过 plugin 的新 Wasm API 用于 AI、可观测性和网络
  • 高级 socket 网络
  • 改进了 host SDK ,使 WasmEdge 能够实现更好地被嵌入
  • 性能和兼容性的提升

新的 plugin 系统

WasmEdge 0.12.0 引入了 WasmEdge plugin C API。WasmEdge plugin C API 为社区提供了一种简单的方式,将 host 函数添加、管理和打包到运行时中。现在,所有 host 函数,包括 WASI 本身,都是 WasmEdge 中的 plugin 。这意味着,你甚至可以替换一个新的 WASI 实现(例如用于实时操作系统)。

现在,你可以用 C、C++ 和 Rust 编写 plugin !现在我们已经有 C++ 实现的 Tensorflow Lite plugin ,C++ 实现的 PyTorch plugin ,C++ 实现的 OpenVINO plugin ,C++ 实现的 eBPF plugin ,Rust 实现的 Rustls plugin 。

这些 plugin 将与之后的 component model 兼容,持续有效。

通过 plugin 实现了用于 AI、可观测性和网络的新 Wasm API

通过新的 WasmEdge plugin,你可以用新的 Wasm API 构建用于 AI、可观测性和网络的 Wasm 应用程序。

  • WasmEdge 的 Tensorflow Lite plugin 使得 Tensorflow Lite 模型的轻量级(大小仅为 Linux 容器的1/10)且速度快(本机 GPU)AI 推理应用程序成为可能。请参见这里的文档。
  • WasmEdge 的 PyTorch plugin ,让 PyTorch 模型的轻量级(大小仅为 Linux 容器的1/10)且速度快(本机 GPU)AI 推理应用程序成为可能。见这里的文档。
  • WasmEdge 的 eBPF plugin 使得开发者可以在 Kubernetes 环境中创建安全和容器化的 eBPF 工具和控制器。请参见这里的文档。
  • WasmEdge 的 Rustls plugin 便于在 WasmEdge 中创建和执行 HTTP 服务,实现与现有 Web 生态的无缝集成。按照教程在Rust 中创建 HTTP 服务。

这些 plugin 以及对 zlib、OpenCV、tesseract 和 FFMPEG 等其他库的支持,为开发者提供了一个全面的工具集,用于构建复杂的 WasmEdge 应用程序,包括涉及 AI 和多媒体处理的应用程序,例如在 WasmEdge 运行 Mediapipe。

高级 socket networking

WasmEdge socket API 在 0.12.1 版本中进行了重构,以兼容更受限的 WASI socket 提案。现在你可以在 WasmEdge 中运行 .net 程序了。WasmEdge socket 已经成为 WASI socket 的超集。

WasmEdge 网络 socket 在 0.12.1 版本中加入了新特性,如 DNS、网络设备绑定和 TLS。你可以创建需要高效 non-blocking 网络 socket 的复杂微服务。

以下是一些可以用 WasmEdge socket 实现的复杂网络应用示例。

  • 使用 Rust 编写的数据驱动微服务
  • WasmEdge 数据库客户端示例
  • Rust Hyper 示例

WasmEdge 已经是最小、最高效的 Wasm 运行时之一。它能嵌入到 libsql(在服务器上使用 SQLite!)用于执行用户定义的函数,执行复杂数字任务,如 HTTPS Web 服务和 AI 推理 SQL 语句!

通过改进的 host SDK 实现更好的嵌入

WasmEdge C++ 和 Rust SDK 现在允许 host 应用程序异步嵌入 Wasm 函数。这对于许多应用程序至关重要,因为嵌入的 Wasm 函数根本不允许阻止 host 应用程序的执行。

异步 host SDK 比较复杂,还有很多工作要做。我们将继续与终端用户和合作伙伴社区共同努力改进。敬请期待!预览地址:https://github.com/L-jasmine/WasmEdge/tree/feat/async

性能和兼容性提升

WasmEdge 0.12.0 和 0.12.1 包括大量的错误修复和性能改进。值得注意的是,WasmEdge 0.12.1 引入了对 WebAssembly System Interface (WASI) 的提升,使 Wasm 应用程序能够以只读权限访问文件和文件夹。 [Image: Image.jpg]

未来可期

WasmEdge 团队致力于不断推陈出新,同时,为之后的版本制定了令人期待的路线图。一些即将推出的特性包括:

  • 在我们的 Docker 和 k8s 集成中支持 plugin
  • 为 Kotlin 和 Dart 等语言提供 Wasm GC 支持
  • WASI 线程
  • 协程(coroutines)的堆栈切换
  • 组件模型(Component model )
  • 支持开源 LLM 的推理
  • 更好的 JS 和 Python 支持 AI

有关 WasmEdge 0.12.0 和 0.12.1 的更多信息,请在 GitHub 上查看 WasmEdge 源代码。我们非常重视你的反馈意见,同时真诚邀请你参与 WasmEdge 社区。加入我们继续推动 WebAssembly 的发展,用 WasmEdge 开启新的可能性。现在就开始使用 WasmEdge 吧!


相關推薦

2022-10-28

新的 containerd shim——把负责容器进程运行的 runC 替换成 WasmEdge runtime。据称这是和 WasmEdge 合作的项目,这个 containerd shim 从 OCI artifact 中提取 Wasm 模块,并使用 WasmEdge runtime 来运行。 Docker 没有透露更多细节,但 WasmEdge

2023-03-27

新的 containerd shim—— 把负责容器进程运行的 runC 替换成 WasmEdge runtime。据称这是和 WasmEdge 合作的项目,这个 containerd shim 从 OCI artifact 中提取 Wasm 模块,并使用 WasmEdge runtime 来运行。 Docker+Wasm 新的技术预览版支持以下三

2022-10-24

ss计算 Serverless强依赖高度优化的冷启动,Wasm运行时(如WasmEdge)非常适合为下一代无服务器平台提供动力。SecondState、Cloudflare、Netlify和Vercel等公司都支持通过其边缘运行时部署WebAssembly功能。其他公司如Grafbase正在使用Wasm,使

2023-06-19

atest 版本发布 v0.0.12 atest 是一款用 Golang 编写的、基于 YAML 格式的开源接口测试工具,可以方便地在本地、服务端、持续集成等场景中使用。 我们希望提供一个简单、强大、高质量的测试工具,方便测试、研发人员快速

2022-08-02

Wasmer 3.0 发布了首个 Alpha 版本。 Wasmer 是支持 WASI 和 Emscripten 的通用 WebAssembly 运行时,提供基于 WebAssembly 的超轻量级容器,专注于支持在任何平台上运行 WASM 代码:从桌面端到云端、以及 IoT 设备,并且能嵌入在任何编程

2023-09-17

dioxus等框架集成,打通社区生态资源。 Zino开发框架已发布0.12版本!这一个月的改进,主要集中在以下方面: 初步集成dioxus-desktop,可用来开发桌面应用。 进一步完善ORM功能,新增支持SQLite数据库。 完整支持OpenAPI规范

2023-11-18

,以及其他潜在的稳定性问题。 综合来看,Bun v1.0.12的发布是该项目在打造更加强大、易用工具方面的一大步。这些更新和改进预期将使Bun在JavaScript开发社区中的作用更为重要,为开发者提供更高效、更可靠的编程体验。

2022-06-13

Wasmer 官方宣布在推出下一个大版本 Wasmer 3.0 之前先发布了一个 2.3 版本。 Wasmer 是支持 WASI 和 Emscripten 的通用 WebAssembly 运行时,提供基于 WebAssembly 的超轻量级容器,专注于支持在任何平台上运行 WASM 代码:从桌面端到云端、以

2022-07-15

距离 v2 发布 16 个月后,Vite 3.0 现已正式发布。公告指出,去年 2 月 Vite 2 发布以来,其采用率就在不断增长;每周 npm 下载量超过 100 万次,迅速形成了庞大的生态系统。Vite 正在推动 Web 框架的新一轮创新竞赛。 “我们决定至

2023-09-08

Google 开发者在线课程 开始学习 CNCF 与 Wasm 社区合作发布了首版 Wasm landscape,旨在帮助更好地了解 Wasm 生态系统范围。“最初的 Cloud Native Landscape 帮助我们描绘了围绕云原生技术的庞大生态系统,我们相信,随着生态系统的发

2023-09-15

尽可能使用CLOCK_MONOTONIC。 WebAssembly:现在可以使用 Bun、WasmEdge、Wazero、wasm3 和 wasmer-js 运行测试。对 WAVM 和 Lucet 的支持已被删除,因为这些项目已达到 EOL。 .NET:支持的最低 macOS 版本现在为 1.0.15。 .NET:所有包现在都是在

2022-11-01

个标准,已经在不同的领域取得巨大的进展。比如 Docker 发布集成 WebAssembly 的首个技术预览版。同时大量编程语言已经开始支持 WASM 平台(完整列表可参考 https://wasmlang.org/ ),国内的 Go+、凹语言、KCL 配置语言 等都把

2023-10-21

系统调用。 目前,Ruvy并未随预编译的二进制文件一起发布,因此需要安装它的构建依赖项,然后编译Ruvy才能使用。 安装这些依赖项的详细信息请查看README。 构建Ruvy后,可以运行以下命令来打印出 Hello World。 $ cargo run -- p

2023-09-10

添加实验性的 WebAssembly 构建支持(WebGL 2.0),由 @nowasm 贡献 已知问题 WebGL context lost 尚未处理 部署在 github pages 的 demo 可快速预览,注意:由于  Github 限制,未开启 WASM 多线程支持,因此多线程模块测试会