## Rust 编译器在 PHP 中:摘要 该项目使用 PHP 完全实现了一个 Rust 编译器,能够直接生成 x86-64 Linux ELF 二进制文件,*无需* 依赖 LLVM、汇编器或链接器。它专为工具受限的环境(如旧共享主机)设计,支持 Rust 的核心特性,包括所有权和借用检查、类型检查、移动语义、泛型、特征、闭包和迭代器。 该编译器处理基本数据类型(整数、布尔值、字符串)、结构体、枚举、控制流、函数和具有 `pub` 可见性的模块。它包含 `Option` 和 `Result` 的实现,用于错误处理。提供了一个带有预期输出的测试套件,用于验证。 目前,该编译器缺少一些特性,例如复合赋值、元组、`Vec`、浮点数、`?` 运算符、复杂的闭包、生命周期和额外的整数类型。然而,它为在仅 PHP 环境中运行 Rust 代码提供了一个功能基础,尤其是在 Windows 上通过 WSL 实现。
## pg_jitter:PostgreSQL 的更快 JIT 编译提供者
pg_jitter 是 PostgreSQL 14-18 版本的轻量级即时编译 (JIT) 提供者,比默认基于 LLVM 的 JIT 具有显著更快的编译时间。它引入了三个替代后端——sljit、AsmJit 和 MIR,以加速查询执行,尤其是在表达式密集型工作负载和宽表的情况下。
Postgres 中的传统 JIT 编译可能很慢(数十到数百毫秒),这会阻碍它在典型的在线事务处理 (OLTP) 查询中的实用性。pg_jitter 实现微秒级编译,使 JIT 对于更广泛的查询来说是可行的。**sljit** 提供一致的性能(比解释器快 5-25%),并推荐用于大多数场景。**AsmJit** 在处理宽行方面表现出色,而 **MIR** 提供可靠的增益和可移植性。
主要功能包括运行时后端切换、两级函数优化以及可选的预编译函数 blob,以实现零成本内联。虽然更快,但 JIT 可能会由于缓存未命中和内存压力而引入开销,因此最好避免将其用于非常快的查询。该项目目前处于 Beta 阶段,通过了所有标准 Postgres 测试并展示了性能改进,并计划进行持续开发和测试。
## NeuralCPU:基于GPU的CPU实现
NeuralCPU是一种新颖的CPU架构,完全作为在GPU上运行的程序实现,利用PyTorch张量作为寄存器、内存、标志和程序计数器。 关键在于,*所有* ALU操作——加法、乘法、位运算和移位——都由专门的预训练神经网络执行。
该系统通过诸如加法中的Kogge-Stone进位先行和乘法中的字节对查找表等技术实现令人印象深刻的性能,所有这些都使用神经网络实现。 它支持64位ARM64指令集,并在347个自动化测试中验证了整数算术的100%准确性。
提供两种模式:“神经网络模式”,其中所有算术运算都使用训练好的模型;以及“快速模式”,利用原生GPU张量运算实现显著更高的吞吐量(高达1.35M IPS)。 通过原生Metal GPU实现可以进一步优化,以实现零CPU-GPU同步。 该项目包括诸如DOOM光线投射的演示,展示了复杂应用程序完全在此神经网络CPU架构上运行的可行性。
PHP 基金会已任命伊丽莎白·巴隆为新任执行董事,接替创始董事罗曼·普朗斯基。巴隆经过全面搜索后被选中,她拥有丰富的 PHP 社区和开源治理经验。
她的背景包括联合创办一个支持 PHP 中女性和非二元性别个体的非营利组织,领导 GitHub 的开发者外展工作(包括 Patchwork 倡议),并通过 CHAOSS 为开源社区健康指标做出贡献。她在社区建设、筹款和战略方面的多样化技能使她能够很好地领导基金会的未来。
普朗斯基将过渡到专注于他在 JetBrains 的角色,同时继续担任董事会成员,以确保平稳过渡。巴隆表达了她对在基金会的成就基础上继续努力,并确保 PHP 在未来几年内持续成功的兴奋之情。
## MACE:通过网络进行易于访问的分子计算
MACE是一个基于网络的平台,旨在普及对先进机器学习原子间势(如MACE,NeurIPS 2022)的使用,其精度可与DFT相媲美,但无需编码或复杂的设置。用户可以上传结构文件(.xyz、.cif等),使用内置的绘图工具绘制分子(由RDKit.js & JSME提供支持),或从目录中选择,然后在任何浏览器中执行计算(能量、力、分子动力学)。
主要功能包括3D查看器、轨迹动画、交互式能量图以及用于比较性能的多模型基准测试套件。一个独特的“MACE Link”功能会生成指向计算结果的永久共享链接——包括3D可视化和数据,从而促进开放科学。
MACE优先考虑可访问性,具有键盘导航、ARIA标签和色盲安全调色板。它基于Next.js、React构建,并利用Supabase进行安全数据存储。该项目旨在消除研究人员、学生和有可访问性需求科学家的障碍,从而促进更广泛的计算化学参与。