公告:Rust CUDA May 2025 project update
这篇文章是 Rust CUDA 项目在 2025 年 5 月的更新报告,介绍了 Rust CUDA 的最新进展和改进。
Rust CUDA 是一个允许开发者用 Rust 编写并直接在 NVIDIA GPU 上运行 CUDA 内核的项目,它利用了 NVIDIA 的 NVVM IR 技术。
文章提到,现在项目会自动构建并发布基于 NVIDIA 官方 CUDA 容器的 Docker 镜像,这些镜像预先配置好了用于构建和运行 Rust GPU 内核的环境,解决了手动设置 NVVM 的复杂性。
在内存处理方面,Rust CUDA 改进了对常量内存的处理方式,避免了因超出常量内存限制而导致的运行时错误,同时提供了更灵活的内存放置选项。
此外,项目还更新了示例代码、清理了绑定,并呼吁更多开发者参与贡献,以推动 Rust CUDA 的未来发展。
阅读:https://rust-gpu.github.io/blog/2025/05/27/rust-cuda-update/
Reddit:https://www.reddit.com/r/rust/comments/1kwm65f/rust_cuda_may_2025_project_update/
公告:Qt 官方将提供 Rust binding
Qt Group 在 2025 年的 Qt World Summit 上宣布了一项新的桥接技术,旨在将 Qt 与多种编程语言集成。
这项技术的灵感来源于软件架构中分离前后端的模式,后端由不同语言编写实现业务逻辑,前端则是使用 QML 和 Qt Quick UI 框架的 UI 代码。
目前,Qt 已为 C#、Kotlin/Java、Python、Rust 和 Swift 提供了桥接,并计划开放一些私有 QML API,方便未来开发更多语言的桥接。
该技术基于现有的 PySide,为 Python 后端与 Qt Quick 前端的集成提供了更简单的 API。
阅读:https://www.qt.io/blog/about-the-new-qt-bridging-technology
Reddit:https://www.reddit.com/r/rust/comments/1kwx168/qt_is_working_on_official_rust_bindings_via_qt/
预告:Slint 1.12 将支持 iOS
生成 Xcode 项目并在 iPad 或 iPhone 上运行 Home Automation 演示等应用程序。
即将作为 Slint 1.12 的一部分作为早期开发人员预览版发布。
仓库:https://github.com/slint-ui/slint
Reddit:https://www.reddit.com/r/rust/comments/1kwvh7k/slint_apps_running_on_ios/
公告:Freya 发布 v0.3
Freya 0.3 是一个 Rust GUI 框架的重大更新版本。
它引入了增量渲染技术,仅重新渲染 UI 中发生变化的部分,从而提高了性能。
在布局方面,Freya 现在支持 Flex 布局、对齐方式(如 space-between
和 space-around
)以及全局定位元素。
样式方面,rect
元素支持多边框和径向/圆锥渐变。图像和 SVG 支持也得到了增强,包括缓存渲染和新的 aspect_ratio
属性。
此外,Freya 改进了主题系统,使其更易于复用颜色,并更新了内置组件的样式。
文档也得到了全面改进,提供了更详细的介绍和 API 参考。其他改进包括新的动画 API、开发工具的增强以及对无障碍功能的支持。
阅读:https://freyaui.dev/posts/0.3
仓库:https://github.com/marc2332/freya
Reddit:https://www.reddit.com/r/rust/comments/1kwmiho/freya_v03_release_gui_library_for_rust/
文章《Why Use Structured Errors in Rust Applications?》
作者:Dmitrii Aleksandrov
这篇文章探讨了在 Rust 应用程序中使用结构化错误(如 thiserror
)与动态错误(如 anyhow
)的利弊。
作者认为,尽管 anyhow
在应用开发中更方便,但结构化错误在维护大型代码库时具有显著优势。
结构化错误可以清晰地展示函数可能的失败模式,便于代码审查,还能避免重复错误消息,提升用户体验和开发效率。此外,结构化错误可以扩展更多功能,如序列化、自定义退出码等。
不过,它们也有缺点,比如需要精心设计代码结构、维护类型名称等。
作者最终认为,在其应用中,结构化错误是值得的,并计划在后续文章中进一步探讨如何管理和优化自定义错误类型。
阅读:https://home.expurple.me/posts/why-use-structured-errors-in-rust-applications/
Reddit:https://www.reddit.com/r/rust/comments/1kx0ak8/why_use_structured_errors_in_rust_applications/
文章《First look at Blinksy》
作者:ahdinosaur
Blinksy 是一个用 Rust 编写的无标准库(no-std)和无分配(no-alloc)的 LED 控制库,支持一维、二维和即将推出的三维空间布局。
它旨在支持常见的 LED 像素芯片,如 WS2812 和 APA102,并提供丰富的视觉图案库。
Blinksy 的工作原理包括定义 LED 的布局、创建视觉图案以及设置 LED 驱动器。
它支持多种 LED 协议,包括时钟驱动(SPI)和无时钟驱动。Blinksy 提供了桌面模拟功能,允许开发者在没有硬件的情况下进行开发和测试。
此外,它还提供了快速启动项目模板,帮助开发者快速开始自己的 LED 项目。
阅读:https://blog.mikey.nz/first-look-at-blinksy/
仓库:https://github.com/ahdinosaur/blinksy
Reddit:https://www.reddit.com/r/rust/comments/1kwk7b9/blinksy_a_rust_nostd_noalloc_led_control_library/
讨论:compare_exchange_weak 在实践中毫无用处?
Reddit:https://www.reddit.com/r/rust/comments/1kx024i/disappointment_of_the_day_compare_exchange_weak/
--
From 日报小组 苦瓜小仔
社区学习交流平台订阅:
评论区
写评论还没有评论