Phoronix CN
68 subscribers
61 photos
786 links
开源新闻,硬件资讯等
这里不转发硬件测评

Phoronix 的中文镜像 更新不及时 [非官方]
如果需要获取及时信息请前往 phoronix.com
Download Telegram
Rust 1.86 发布: 支持 Trait 提升, 弃用 i586-PC-Windows-MSVC

Rust 1.86 今天作为这个流行编程语言的最新版本发布

Rust 1.86 引入了 trait 向上转型的支持作为备受期待的功能以提升 trait 对象
对于具有超 trait 的 trait 现在可以将该 trait 对象的引用强制转换为超 trait 的 trait 对象的引用, Rust 1.86 还增加了对 HashMaps 和 slices 的支持以支持对多个元素进行可变索引, 安全函数现在可以使用 #[target_feature] 属性标记以及其他更改

Rust 1.86 还弃用了 i586-pc-windows-msvc 目标并将在 Rust 1.87 中移除
i586-pc-windows-msvc 不像更常见的 i686-pc-windows-msvc 目标那样需要 SSE2 支持, 但是由于 Windows 10 是 Rust 的最低操作系统版本而且它本身要求 SSE2, 因此 Rust 开发者正在移除 i586 二级目标而只保留更优秀的 i686 目标

更多有关 Rust 1.86 更改的细节请参见 Rust-Lang.org

#Programming #Rust
原文链接
Rust 正在寻找您的反馈以指导其未来发展

随着 Rust 今年迎来十周年, 他们正在回顾过去并制定未来十年的计划
他们发起了 Rust 视野调查, 旨在征集来自所有 Rust 技能领域的反馈, 以展望未来

今天公布的 Rust 视野调查旨在了解当前 Rust 的现状, 并确定项目未来应发展的高层次方向
他们并不打算具体设计或推荐功能, 而是关注于 Rust 未来发展的宏观层面

通过这项调查, 他们希望在经历各种访谈和其他持续讨论后, 在五月的 Rust All Hands 活动上提交初步报告

想参与 Rust 视野调查或了解更多信息的人员, 可通过 Rust-Lang.org 博客获取相关内容

#Programming #Rust
原文链接
高通开源 ELD 链接器嵌入式链接器

虽然 LLVM LLD 和 Mold 是 Linux 系统上两款流行的链接器, 其中后者以令人印象深刻的速度著称, 比 GNU LD 和 Gold 快得多 但上周高通开源了一款新链接器: ELD

ELD 是高通开源的一款新链接器, 专注于嵌入式开发者的需求, ELD 源自 mclinker, 并针对 ELF 文件及嵌入式系统/开发者的需求进行了定制
ELD 可以与基于 LLVM 的工具链很好地配合使用

高通的 ELD 仅支持 AArch32, AArch64, Qualcomm Hexagon NPU 和 RISC-V 架构, 不支持 x86/x86_64

想了解更多关于 ELD 链接器信息的读者可以通过高通博客获取, 代码在 GitHub 上遵循 BSD 3-clause 许可证

#Programming
原文链接
TurnkeyML 6.2 版本发布, 包含 AMD Ryzen AI NPU 改进

2023 年底发布的 TurnkeyML 是 ONNX 和 AMD 开发者之间的开源合作项目
TurnkeyML 已发展为专注于简化使用 ONNX 生态系统中最重要工具的过程, 并通过其 Lemonade SDK 在各种设备/加速器上部署大型语言模型
今天发布的是 TurnkeyML 6.2, 重点提升了对 AMD Ryzen AI NPU 的支持

在今天的 TurnkeyML 6.2 发布中, Ryzen AI NPU 支持现在可以作为可选择的设备后端, 在 lemonade-install 工具中进行选择
此外, Ryzen AI NPU 和混合执行目标可以一起安装到同一个 Python 环境中

TurnkeyML 6.2 还允许为 Ryzen AI NPU 和混合目标构建优化的 OGA 检查点

TurnkeyML 6.2 的其他改进包括 Lemonade 服务器的简易端口选择以及各种新选项

想了解更多关于 ONNX TurnkeyML 6.2 发布的信息, 可以通过该项目的 GitHub 页面进行查看

#Programming #AMD
原文链接
Mold 2.38 链接器添加了对 LLVM 的 CREL 格式的支持

Mold 2.38 本周末发布, 作为这款开源, 高速链接器的最新功能更新

Mold 2.38 最显著的功能是引入了对 CREL 的实验性支持, CREL 是目前正在 LLVM 树中开发的实验性重定位表格式
CREL 最初被称为 RELLEB, 是一种用于 ELF 文件的紧凑重定位格式
CREL 比 REL 和 RELA 等格式对 ELF 文件更有效得多
Mold 2.38 增加了对读取带有 CREL 重定位表的目标文件的初步支持

同时, 为了增强与 GNU LD 链接器的兼容性, Mold 2.38 添加了对 --audit 和 --depaudit 选项的支持

与 GNU 和 LLVM 项目的链接器相比, Mold 作为一款极快的链接器持续受到欢迎

Mold 2.38 链接器还包含各种错误修复和其他次要增强功能
有关 Mold 2.38 链接器发布的更多详细信息可通过 GitHub 获取

#Programming
原文链接
Meson 1.8 构建系统发布 - Wayland 模块宣布稳定

Meson 1.8 于今天下午发布, 作为这个流行的、跨平台的开源构建系统/构建自动化工具的最新更新
Meson 1.8 并非最激动人心的功能版本, 但它确实为 C 编程语言带来了 C2Y / GNU2U 标准的支持
C2Y/GNU2Y 标准旨在与 LLVM Clang 19.0+ 和 GCC 15.0+ 编译器一起使用

Meson 1.8 现在也将其 Wayland 支持模块声明为稳定版
Meson 的 Wayland 模块已被多个项目使用, 并且自 Meson 0.64 以来没有出现任何破坏性更改
因此, 它现在被标记为稳定版

Meson 1.8 还引入了一个新的 "swift_std" 编译器选项用于指定 Swift 语言版本, 如果发现错误, Valgrind 现在会使测试失败, 对象被正确地添加到 Rust 可执行文件中, 提供了更好的 Objective-C / Objective-C++ 支持, 并且 version_compare() 现在支持多个比较字符串

Meson 1.8 可以通过 GitHub 下载
有关 Meson 1.8 更改的更多详细信息, 请参阅发布说明

#Programming
原文链接
PoCL 7.0 RC1 发布: 支持 CPU 和 Level Zero 的官方 OpenCL 3.0 兼容性

PoCL 7.0 即将到来, 作为这个 "可移植计算语言" 实现的最新版本, 它最初是一个基于 CPU 的 OpenCL 驱动实现, 但随着时间推移, 它增加了对从 Intel Level Zero 到 NVIDIA PTX 和 AMD HSA 等其他后端的支持

随着 PoCL 7.0 发布候选版本于今日发布, 该实现现已正式符合 OpenCL 3.0 标准
根据 Khronos OpenCL 一致性测试套件, 当使用 CPU 后端或 Intel Level Zero GPU 代码路径运行时, PoCL 7.0 正式符合 OpenCL 3.0 标准
这种一致性适用于 OpenCL C 和 SPIR-V 两种编译路径

PoCL 7.0 RC1 还增加了对 LLVM/Clang 19 和 20 版本的支持, 支持新的 Khronos 可安装客户端驱动程序 (ICD) OpenCL 3.0, 并在使用 MinGW 和 MSVC 构建时增加了对 Windows 的支持
当使用 OpenCL.jl 包时, 现在也支持 Julia 编程语言

可通过 GitHub 获取今日发布的 PoCL 7.0 发布候选版本的下载及更多详情

#Programming
原文链接
Rust 语言发布 Rust 1.87 庆祝十周年

Rust 1.87 现已发布, 作为这个流行编程语言的最新版本
随着 Rust 1.87 的发布, 也标志着这个专注于内存安全和现代特性的系统编程语言已经走过了十年

Rust 开发者正在荷兰乌得勒支举行活动庆祝 Rust 十周年
他们在那里发布了 Rust 1.87 来庆祝这个重要的里程碑

Rust 1.87 在标准库中添加了匿名管道, 安全的架构内联函数, 通过 "asm!" 的内联汇编现在可以跳转到 Rust 代码中的带标签块, 以及一些稳定的 API
Rust 1.87 还移除了针对旧处理器的 i586 Windows MSVC (i586-pc-windows-msvc) 目标

可通过 Rust-Lang.org 下载并获取今日 Rust 1.87 版本的更多详情

#Programming
原文链接
为 Linux 6.16 做准备的 Rust CPU 频率抽象

针对即将到来的 Linux 6.16 周期, 更多 Rust 编程语言抽象正在准备中, 以允许在更多领域为内核创建基于 Rust 的驱动程序

Viresh Kumar 今天发出了 CPUFreq ARM 更新, 在 Linux 6.16 合并窗口最早下周开放之前
这个拉取请求值得注意的是添加了围绕这些 CPU 频率缩放 / 电源管理代码的新 Rust 抽象

Rust 抽象已被提交用于 CPUFreq 框架以及各种 Arm SoC 使用的 Operating Performance Points (OPP) 框架, 用于设备在每个域支持的频率和电压对
除了对 CPUFreq 和 OPP 的 Rust 支持之外, 还添加了针对时钟 "clk" 和 Cpumask 框架的基本 Rust 抽象

这些 CPUFreq Rust 抽象在过去一年中一直在开发, 现在看来状态良好并已达成共识可以进入主线内核

这个正在前往 Linux 电源管理树的拉取请求引入了那些新的 Rust 抽象

#Programming
原文链接
PoCL 7.0 发布: 支持 x86_64 CPU 的官方 OpenCL 3.0 兼容性

PoCL 7.0 于今日发布, 它是这个 "可移植计算语言" 实现的最新版本, 该实现最初是为了支持基于 CPU 的 OpenCL 执行而启动的, 但随着时间的推移, 并利用 LLVM 后端, 它增加了对基于 AMDKFD / NVIDIA PTX / Intel Level Zero 和其他可能后端的 OpenCL 的支持

PoCL 7.0 最重要的意义在于, 当使用 CPU 执行后端或 Intel GPU 上的 Intel Level Zero 驱动程序时, 它现已正式达到 OpenCL 3.0 一致性

PoCL CPU OpenCL 3.0

拥有现代 Intel 或 AMD x86_64 处理器的人可以在 CPU 上享受官方的 OpenCL 3.0 合规性
对于支持 AVX2 和 AVX-512 的 CPU, 基于 CPU 的 OpenCL 使用具有更大的性能潜力

PoCL 7.0 还带来了对 LLVM Clang 19 和 20 版本的支持, 对使用 MinGW 或 MSVC 的 Microsoft Windows 的支持, 对新的 Khronos ICD 格式的支持, 以及对使用 OpenCL.jl 包的 Julia 编程语言输入的的支持

PoCL 7.0 源代码以及新的 Microsoft Windows 二进制文件可以在 GitHub 上的 PoCL 找到

#Programming
原文链接
Rav1e v0.8 发布, 用于基于 Rust 的 AV1 编码

Rav1e v0.8 于周一发布, 这款自称 "最快, 最安全的 AV1 编码器" 使用了 Rust 编程语言

上一个主要版本是 Rav1e v0.7, 于 2023 年末发布
现在 Rav1e v0.8 已经到来, 鉴于距上一个版本已有一年半时间, 它带来了许多变化

至少在 x86_64 CPU 上, 我的测试中 Rav1e 编码器仍不及 SVT-AV1 视频编码器, 但至少由于使用了 Rust 编程语言, 它更侧重于编码器安全性和内存安全性
如今, GPU 加速的 AV1 编码也变得越来越普遍

无论如何, 感兴趣的用户可以从 GitHub 下载 Rav1e v0.8, 以了解这款基于 Rust 的顶级多平台 AV1 编码器的最新进展

#Programming
原文链接
Linux 6.16 为更多核心领域新增了 Rust 抽象

在持续进行的 Linux 6.16 合并窗口中, Linux 内核核心代码的更多 Rust 编程语言抽象持续落地

随着上周的 DRM 内核图形驱动更新, 现在有了用于直接渲染管理器驱动/设备的 Rust DRM 核心基础设施抽象, ioctl 处理, 文件和 GEM 内存管理抽象

与此同时, 作为 MM 拉取请求 (用于内存管理相关代码) 的一部分, 一些关键抽象正在落地
新增了对 mm_struct, vm_area_struct 和 mmap 从 Linux 内核中的 Rust 代码进行支持
这些部分是允许 Rust 代码访问内核核心内存管理结构所必需的

另外, 作为驱动核心拉取请求的一部分, 正在添加具有新功能的 Rust 驱动核心和 PCI 设备绑定

此外, 内核其他区域也有更多 Rust 代码, 而这些只是为了在 Linux 6.16 文章中进行报道而汇总的一些核心新增内容

#Programming
原文链接
NumPy 2.3 引入 OpenMP 并行化支持

NumPy 2.3 作为这个广泛使用的科学计算库的最新版本今天发布了

NumPy 2.3 值得注意的特点是最终通过 OpenMP 添加了一些并行化支持

NumPy 2.3 带来了使用 OpenMP 并行化构建库的初步支持

对于 NumPy 2.3, OpenMP 支持默认是禁用的, 但在构建时可以通过"-Denable_openmp=true"轻松启用

在 v2.3 版本中, 只有 np.sort 和 np.argsort 函数使用 OpenMP 进行并行线程执行

NumPy 的 OpenMP 支持由 Intel 软件工程师贡献

这延续了 Intel 之前对 NumPy 的贡献, 通过利用受支持平台上的 AVX2 和 AVX-512, 支持 x86-simd-sort 以实现更快的排序

NumPy 2.3 还带来了 NumPy 文档中的新交互式示例, 对 Windows on ARM 的初步支持, 对自由线程 Python 的更好支持以及改进的注释

今天发布的 NumPy 2.3 功能版本的下载和更多详细信息请通过 GitHub 获取

#Programming
原文链接