Jadi saya akhirnya mendapat kesempatan untuk melihat Mojo/Modular. Ini bukan yang saya kira, ini adalah pengganti OpenCL + implementasi kernel, bukan kompiler AI. Meskipun ini membuatnya jauh lebih mudah untuk mendapatkan kinerja penuh dengan cepat, saya pikir kelengkapan Turing adalah kesalahan untuk hal ini. Kita akhirnya mendapatkan kesempatan untuk hidup di dunia aliran data murni, mengapa kita tidak mengambilnya? Bahasa seperti ini tidak memisahkan definisi komputasi dari penjadwalan komputasi. Baca PhD Halide, saya terobsesi dengan ide ini. Ketika jaringan saraf menjadi lebih baik dan lebih baik dalam pemrograman, yang kita inginkan adalah cara paling ringkas untuk mengekspresikan *tepat* apa yang dilakukan program tanpa mengkhawatirkan detail caranya. Serahkan itu pada mesin. Perhatikan parameter "maybe_epilogue_func" di sini. Bagaimana jika Anda ingin dua fungsi epilog menyimpan ke buffer yang berbeda, atau mengurangi berantai? Loop ada di dalam fungsi conv ini, jadi sudah terlambat untuk berubah. Baca konversi tinygrad untuk kontras. "Selama beberapa dekade saya membangun kompiler, saya belum pernah melihat mitos "kompiler yang cukup cerdas" benar-benar berhasil!" - @clattner_llvm Kami bertaruh bahwa dengan teknik pencarian modern (baca: AI) ini akhirnya akan berubah. Meskipun itu adalah taruhan yang benar-benar adil untuk mengambil sisi lain, dan jika itu tidak berhasil dalam 10 tahun ke depan, Mojo mungkin adalah titik yang tepat dalam ruang trade-off.