硬核观察 #781 DeepMind 用游戏的方式打破了矩阵相乘 50 年来的记录
DeepMind 用游戏的方式打破了矩阵相乘 50 年来的记录
矩阵乘法问题是一种关键的计算类型,它是许多不同应用的核心,从屏幕上显示图像到模拟复杂的物理学。加快这种计算可能会对成千上万的日常计算机任务产生重大影响。但想优化矩阵相乘的步骤很难。DeepMind 将该问题变成一种三维棋盘游戏 TensorGame。训练了一个新版本的 AlphaZero,称为 AlphaTensor,来玩这个游戏,以尽可能少的动作赢得游戏。AlphaTensor 发现了一种将两个四乘四的矩阵相乘的方法,只需要 47 步,基本的高中数学方法需要 64 步,而之前的最佳方法是德国数学家在 1969 年发明的 49 步的方法。此外,“AlphaTensor 在超过 70 种不同大小的矩阵中击败了现有的最佳算法。”
消息来源:Technology Review
老王点评:没想到 AI 居然可以在数学上找到更好的算法,果然人力有时而穷。此外,对矩阵相乘的改进,应该会从底层提升很多你想不到的地方的性能。
英特尔推动 GPU 通用编程库 SYCL 的发展
如今在加速计算和 GPU 领域,CUDA 只能在英伟达的 GPU 上运行,AMD 的 CUDA 可以在 AMD 的 GPU 上运行,但你不能用 CUDA 为英特尔的 GPU 编程。因此,英特尔推动开源 SYCL 规范的发展,该规范旨在为 GPU 和加速计算做几十年前 Java 为应用开发所做的工作。SYCL 是一种用 C++ 语言进行数据并行编程的方法,它看起来很像 CUDA,可以在英特尔、AMD 和英伟达的 GPU 上运行,而无需改变你的代码。
消息来源:Venture Beat
老王点评:这就是一个英特尔的 CUDA,但是以开放的名义。
SELinux 继续废弃运行时禁用功能
SELinux 已经废弃了运行时禁用功能,即通过编辑配置文件或 sys 文件系统来即时禁用它。但相关的代码和功能尚未从内核中删除,Linux 6.1 仍然具有处理 SELinux 运行时禁用的废弃能力。在最新的 Linux 6.1 的合并请求中,SELinux 删除了对该能力的一个文档参考,向废弃该能力小小的迈了一步,其它的部分几乎没有什么大的变化。一种简单和非侵入性的正确禁用 SELINUX 的方法是,在启动 Linux 时可以将 selinux=0
作为一个内核参数传递进去。
消息来源:Phoronix
老王点评:抛开 SELinux 的 NSA 背景不谈,SELinux 其实安全但繁琐,所以运行时禁用 SELinux 往往成为了一种偷懒行为或安全缺陷。