虽然中国在太阳能和核能方面投入巨大,但在欧洲“我只看到很多谈论,却没有行动”,而在美国“尽管我们已经能源独立,但我们最好开始关注太阳能……因为我们需要廉价、低成本的电力来发展人工智能”。
## 设备建模语言 (DML) 概要 设备建模语言 (DML) 是一种专门的语言,旨在创建用于虚拟平台开发的快速、功能性的设备模型。它提供诸如寄存器组和事件发布等高级抽象,简化了模型创建。DML 代码由 DML 编译器 (DMLC) 处理,该编译器生成针对特定模拟器(目前是 Intel® Simics®)优化的 C 代码,未来可能会扩展。 构建 DMLC 需要 Simics 安装,并涉及将 DML 仓库检出到 Simics 项目中,然后执行 `make dmlc` 命令。测试通过 `make test-dmlc` 进行。 几个环境变量可以辅助开发,包括 `DMLC_DIR` 用于指定编译器位置,以及 `DMLC_PATHSUBST` 用于提高错误消息的清晰度。 DMLC 还提供用于性能分析、通过创建存档隔离编译问题以及收集代码生成统计信息 (`DMLC_GATHER_SIZE_STATISTICS`) 以优化模型大小和编译时间等功能。这些统计信息突出了代码改进的领域,例如利用共享方法或重构循环。
arXivLabs是一个框架,允许合作者直接在我们的网站上开发和分享新的arXiv功能。个人和与arXivLabs合作的组织都接受并拥护我们的开放、社群、卓越和用户数据隐私等价值观。arXiv致力于这些价值观,并且只与坚持这些价值观的合作伙伴合作。您是否有为arXiv社群增加价值的项目想法?了解更多关于arXivLabs的信息。
## Lean 4 与无错误套接字编程
传统语言(如 C、Python 和 Rust)中的套接字库,通常通过运行时检查、文档或寄希望于最佳实践来处理对套接字 API 的潜在错误使用(例如,在未绑定的套接字上发送数据)。这些方法不可避免地将错误检测推迟到运行时。Lean 4 提供了一种新颖的解决方案:**使用依赖类型在编译时强制执行套接字状态机。**
Lean 4 将 POSIX 套接字协议的状态(fresh、bound、listening、connected、closed)编码为 `Socket` 结构体内的类型级别参数。像 `bind` 和 `listen` 这样的函数会根据这些状态显式声明前置条件和后置条件。然后,编译器会*验证*这些条件;尝试无效操作(例如,在 `fresh` 套接字上 `send`)会导致类型错误,在*运行前*发生。
至关重要的是,状态信息和证明义务会在编译期间被擦除,从而产生与原始 C 代码一样高效的代码。一个关键特性是通过证明义务来防止双重关闭——编译器会验证套接字是否已经关闭。这种方法消除了运行时开销,同时保证了协议的正确性,提供了一种经过数学验证且性能优越的解决方案。
你需要启用 JavaScript 才能运行此应用。
## AI 数据中心向直流供电的转变 英伟达的 GTC 大会强调了一个关键挑战:随着 AI 芯片功耗的增加,数据中心基础设施难以跟上。一个主要瓶颈是低效的电力输送,传统上依赖于多次交流电到直流电的转换。Delta、Vertiv 和 Eaton 等公司正在通过转向直流配电设计来应对,尤其是在超大规模数据中心。 目前的数据中心多次转换电力——从高压交流电到低压交流电,然后再到服务器所需的直流电——导致能量损失和大量的铜材需求(每 1MW 机架可能需要 200kg!)。高压直流 (800VDC) 系统旨在绕过这些转换,直接为服务器供电,从而显著提高效率(高达 5%)并减少铜材用量(可能减少 45%)。 早期采用者正在中国出现,像 Mt. Diablo Initiative 这样的倡议正在试验 400V 直流电。虽然全面行业转型需要标准化的安全框架和强大的供应链,但供应商正在开发预计最早在 2026 年即可商业化的 800VDC 生态系统,这标志着数据中心电力架构的重大转变。
请启用 JavaScript 并禁用任何广告拦截器。
## 北美机场状况 - 今天
本报告提供了今天北美主要机场的状况快照。多家机场正经历重大干扰,特别是航班取消和延误。
拉瓜迪亚(LGA)、温哥华(YVR)、哈利法克斯(YHZ)和普埃尔塔巴亚尔塔(PVR)报告了**高取消率**。拉瓜迪亚机场也受到**地面延误**的影响。
许多枢纽机场普遍存在**显著的航班延误**,包括夏洛特(CLT - 52%)、肯尼迪(JFK - 80%)、纽瓦克(90%)和卡尔加里(67%)。**航班到达延误**也很普遍。
一般来说,美国南部机场(迈阿密、劳德代尔堡、达拉斯/沃斯堡、凤凰城)的航班到达准点率很高,而多家加拿大机场(多伦多、蒙特利尔、渥太华)的航班到达准点率达到100%,但存在显著的航班延误。
有关最新信息,请查阅完整报告以获取特定机场的详细信息和实时更新。
这个Github仓库详细记录了作者构建一个C语言子集SubC的自编译编译器的过程。该项目最初是作为对编译理论的实践探索,从词法扫描和解析开始,逐步记录了函数、循环、结构体甚至预处理器等复杂功能的实现。 编译器最初的目标是ARM汇编,后来扩展到包含6809 CPU的后端,以及使用QBE的新后端。开发过程中涉及多次迭代、错误修复和优化,包括寄存器溢出和常量折叠。 虽然SubC现在基本完成,但作者已经转向一个新的语言项目alic,利用了SubC的一些想法和代码(并对Nils M Holm的公共领域作品进行了适当的许可声明)。仓库中的代码采用GPL3许可,而文档采用知识共享署名-非商业性使用-相同方式共享4.0许可。