logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Gdev 至 Rust 移植工程(七)

前四阶段的翻译工作已全部完成(31 文件,10,300 行 Rust,196 个纯软件测试通过),并在开发机上成功编译出。

文章图片
#rust#开发语言
Gdev 至 Rust 移植工程(一)

按核心类型、公共 API、调度器框架、完整集成的顺序,将 gdev_device.c、gdev_api.c 及四种调度策略翻译为 trait Scheduler 的多态实现,并贯通 glaunch、gsync 等核心操作。

文章图片
#rust#开发语言
Gdev 至 Rust 移植工程(五)

22,500 行 C++从 22,500 行 C++ 到 ~3,400 行 Rust,缩减 85%。SdaaDriver.cpp (658 行) — 完全删除。这个文件是 C++→C 的 pass-through 层,每个函数都是一行 return ::sdFunction(…)。Rust 中 Layer 4 直接调 Layer 3 FFI,不需要这个中间人。Hydrazine 工具库 (~3,0

文章图片
#rust
Gdev 至 Rust 移植工程(六)

前四个阶段的翻译工作已全部完成,196 个测试在无硬件环境下全部通过。接下来的目标是将编译出的动态库部署到 QEMU 模拟的 CentOS 7 虚拟机中,用真实的 C 测试程序验证能否正常调用。测试环境由跳板机上的 CentOS 7 QEMU 模拟器提供,其中已包含原版的libgdev.so和,以及配套的 C 测试样例(如launch.c。

文章图片
#rust#开发语言
Gdev 至 Rust 移植工程(九)

前四层翻译完成后,我们在开发机上跑通了全部 196 个单元测试。但在 QEMU 验证机(CentOS 7, glibc 2.17, 4 块 aicard 设备)上,最初只是用一个在用户态模拟设备内存,内核启动也在 CPU 上软件完成——数据从未真正进入 AI 加速卡。为了验证翻译的正确性,必须让 Rust 运行时像原版 C 库一样,通过 ring buffer 协议将操作码和参数推入,由内核模块a

文章图片
#rust#开发语言
Gdev 至 Rust 移植工程(十二)

C 版本中普遍存在的无边界检查、错误码类型混淆、空指针解引用等问题,在 Rust 版中通过Option<T>RAII DropMutex串行化、newtype等机制被彻底根除。Rust 的类型系统与所有权模型不是在写“更好的 C”,而是在编译器层面强制实施内存安全与并发安全,将原本需要人工审查的约束变成了机器可验证的规则。从 C 到 Rust,SDAA 运行时在安全性上有较大提升——8 类内存与并

文章图片
#rust#后端
面向Agent的基础软件深度调研笔记

Agent OS(智能体操作系统)是一个专为 AI Agent 设计的软件平台,提供运行时执行、任务调度、资源治理、工具集成和安全隔离能力,让 Agent 能够自主、可靠地完成复杂工作。对比维度传统 OSAgent OS调度对象进程/线程AI Agent 请求与任务核心能力CPU 调度、内存管理、文件系统Agent 调度、上下文管理、工具调用、多 Agent 协同交互方式CLI / GUI,精确指

文章图片
#人工智能
OpenFang 部署与初步验证记录(二)

OpenFang 的基础部署、权限模型调优及 MCP 服务集成验证已阶段性完成。后续将进一步探索更多 MCP Skill 工具的能力边界与应用场景。更关键的是,下一步将深入 OpenFang 源码层面进行架构分析,重点评估其作为纯 Rust 技术栈实现的 AgentOS 方案在工程可行性、性能特性及安全模型方面的实际表现,为 Agent 基础设施的技术选型提供实证依据。

文章图片
#人工智能
Gdev 至 Rust 移植工程(十一)

前面四个 Layer 翻译完成,14 个集成测试全部通过,甚至在 QEMU 上完成了安全性和性能的 A/B 对比实验。一切看起来都非常完美。直到有一天,我们做了一个底层原生 API 的基准测试——不经过 SDAA Runtime 那一层封装,直接调用最底层的 gmalloc/gmemcpy_to_device/gsync 来测 DMA 带宽。出现了一个非常荒谬的结果。Rust 版的 DMA 耗时只

文章图片
#rust#开发语言
Gdev 至 Rust 移植工程(十二)

C 版本中普遍存在的无边界检查、错误码类型混淆、空指针解引用等问题,在 Rust 版中通过Option<T>RAII DropMutex串行化、newtype等机制被彻底根除。Rust 的类型系统与所有权模型不是在写“更好的 C”,而是在编译器层面强制实施内存安全与并发安全,将原本需要人工审查的约束变成了机器可验证的规则。从 C 到 Rust,SDAA 运行时在安全性上有较大提升——8 类内存与并

文章图片
#rust#后端
    共 22 条
  • 1
  • 2
  • 3
  • 请选择