所以我终于有机会看看 Mojo/Modular。它并不是我想象中的那样,它是一个 OpenCL 替代品 + 内核实现,而不是一个 AI 编译器。 虽然这使得快速获得完整性能变得容易得多,但我认为图灵完备性在这些东西上是个错误。我们终于有机会生活在一个纯数据流的世界,为什么不抓住这个机会呢?像这样的语言并不将计算的定义与计算的调度分开。 阅读 Halide 博士论文,我对这个想法着迷。随着神经网络在编程方面变得越来越出色,我们想要的是以最简洁的方式表达 *确切* 的程序功能,而不必担心如何实现的细节。把这些留给机器。 注意这里的参数 "maybe_epilogue_func"。如果你想要两个将结果存储到不同缓冲区的尾声函数,或者链式归约呢?循环在这个 conv 函数内部,所以改变已经太晚了。阅读 tinygrad conv 以作对比。 "在我几十年的编译器构建经验中,我从未见过“足够聪明的编译器”的神话真正实现过!" -- @clattner_llvm 我们打赌,随着现代搜索技术(即:AI)的发展,这种情况最终会改变。尽管采取另一种立场是完全合理的,如果在接下来的 10 年内没有实现,Mojo 可能是权衡空间中的正确选择。