文章《Electron E1 CPU - 一种全新独特的指令集架构,专注于极高的能效,支持 C++ 和 Rust 编译》
Efficient Computer 的 Electron E1 CPU 是一款全新的嵌入式处理器,声称比 ARM 的同类产品效率高出 100 倍。该芯片采用独特的空间数据流架构,摒弃了传统 CPU 的缓存和乱序执行设计,通过静态调度和控制数据流来减少能量消耗。Electron E1 拥有自定义指令集和智能编译器栈,能够将 C++ 或 Rust 代码转换为数据流图,并在芯片上高效执行。尽管这种架构与传统 CPU 设计大相径庭,但其目标是为功耗受限的嵌入式系统(如航空航天、国防、工业传感和可穿戴设备)提供更高效的通用处理器。
Efficient 的 CEO 强调,E1 的 32 位浮点支持是其架构可扩展性的关键。该芯片的设计目标是“每焦耳操作数”,即在有限的电量下完成尽可能多的有用工作。尽管 Efficient 声称 E1 的能效比市场领先的 ARM Cortex M33、M85 和 A5 类核心高出 10 到 100 倍,但这种优势是否能在各种实际用例中保持仍需验证。此外,E1 的编译器需要足够智能,以静态方式处理数据流图的分解、操作映射和配置生成。
Efficient 的未来产品路线图包括第二代 E2 和更大的 Photon P1,计划提供独立的 SoC 和可授权的 IP。目前,Electron E1 的第一个候选版本已经完成,开发者工具链也已发布,支持 C++ 和 Rust,并计划支持 PyTorch、TensorFlow 和 JAX 等机器学习框架。尽管 Efficient 的技术听起来很有前景,但其在嵌入式市场的成功将取决于编译器的成熟度、调试工具的完善程度以及供应链的稳定性。
阅读:https://morethanmoore.substack.com/p/efficient-computers-electron-e1-cpu
Reddit:https://www.reddit.com/r/rust/comments/1m9at09/efficient_computers_electron_e1_cpu_a_new_and/
文章《在每个 GPU 上运行 Rust》
文章介绍了 Rust 在多平台 GPU 编程中的应用。通过 Rust GPU、Rust CUDA 和 Naga 三个项目,开发者可以使用标准 Rust 代码编写计算逻辑,并将其编译为目标平台(如 CUDA、SPIR-V、Metal、DirectX 12、WebGPU 和 CPU 回退)的代码。
文章展示了如何通过 Rust 的特性(如 no_std
、条件编译、新类型、枚举、特质、内联、结构体组合、内存布局控制、模式匹配、泛型、派生宏、模块系统、工作区依赖、格式化、代码检查和文档)实现跨平台 GPU 编程。
尽管目前仍有许多需要改进的地方,比如编译器后端尚未集成到 rustc
、依赖 NVIDIA 工具链、调试困难以及 Rust GPU 和 Rust CUDA 的 API 不一致等,但这一进展标志着 Rust 在 GPU 编程领域迈出了重要一步。
阅读:https://rust-gpu.github.io/blog/2025/07/25/rust-on-every-gpu/
Reddit:https://www.reddit.com/r/rust/comments/1m96z61/rust_running_on_every_gpu/
Make A Language - 使用 Rust 创建 Eldiro 编程语言系列教程
该系列包含 21 章节,涵盖了从基础设置到高级功能的各个方面,例如代码表示、错误处理、模块化(Crates)、注释、空白处理、术语定义、功能调用、函数定义、REPL(交互式解释器)、代码块、变量绑定、回溯等。
适合对编程语言设计和实现感兴趣的读者。
阅读:https://lunacookies.github.io/lang/
hyperloglockless:Rust 中最快的 HyperLogLog
HyperLogLog 是一种高效的存储结构,用于解决“计数唯一问题”,即近似估算多重集合中不同元素的数量。参考此 论文。
hyperloglockless
提供了一种无锁并发的 HyperLogLog 以及单线程版本。它们比其他 HyperLogLog 实现更简单、更快、更准确:
- 并发性:
AtomicHyperLogLog
是RwLock<OtherHyperLogLog>
的直接替代品:所有方法都接受&self
,因此你可以将其包装在Arc
中,并在并发环境中更新它,而无需&mut
。 - 快速:无论是在单线程还是多线程场景中,都经过了优化以实现快速和简单的操作。
- 准确:经过实证验证,能够准确处理万亿级元素;其他实现通常在处理到百万级元素时就会失效。
- 经过测试:经过严格的测试(使用 loom)并进行了基准测试。
Reddit | 仓库:https://github.com/tomtomwombat/hyperloglockless
--
From 日报小组 苦瓜小仔
社区学习交流平台订阅:
评论区
写评论还没有评论