深入Rust GPU驱动Tyr:VkCube案例解析

2025-08-07
深入Rust GPU驱动Tyr:VkCube案例解析

本文是深入探讨Rust编写的Linux内核GPU驱动Tyr系列文章的第二篇,Tyr支持基于Arm Mali CSF的GPU。文章以VkCube应用为例,详细解释了用户模式驱动(UMD)和内核模式驱动(KMD)的工作原理,以及如何将VkCube的工作负载描述给GPU。文章简要介绍了Tyr提供的API,并将其与Panthor(同硬件的C驱动)进行了比较。重点阐述了KMD的关键作用,包括内存分配、作业提交和硬件调度,以及Tyr提供的简洁API,包括设备信息查询、内存管理、组创建和管理、作业提交以及平铺堆管理等功能。

阅读更多
开发 GPU驱动

Rust vs C++: 类型安全性的深度比较

2025-05-06
Rust vs C++: 类型安全性的深度比较

本文通过比较Rust和C++处理函数参数类型的不同方式,深入探讨了类型安全性的重要性。作者以一个模拟股票交易下单函数为例,展示了C++在防止参数类型混淆方面存在诸多不足,即使经过多次改进,仍难以完全避免错误。而Rust则凭借其强大的类型系统和编译时检查机制,轻松解决了这些问题,即使在处理用户输入的字符串转换为数值类型时,也能有效防止错误,避免程序崩溃或产生不正确的结果。这篇文章突出了Rust在保证代码安全性和可靠性方面的优势,并强调了其超越内存安全的特性。

阅读更多
开发